Поиск сообщества
Показаны результаты для тегов 'codevisionavr'.
Найдено: 4 результата
-
привет! есть кто живой? всех с праздниками! пока ждал заказанных rtc, поигрался с разными часами в протеусе (1302, 1307, 8563). пользовался встроенными библиотеками кодвижона - все работает, все норм. разве что 8563 подключил с помощью либы "i2c" - рабоатает, но часы явно отстают. как я понял из-за того, что во встроенной i2c.h нет настройки частоты. вот решил попробовать эти часы запустить с библиотекой TWI.h из того же кодвижена, но вылазят ошибки, причем в местах, тупо скопированных из комментария либы по подключению. код добавил ниже, объясните, в чем ошибки? ОШИБКИ В КОММЕНТЫ ДОБАВИЛ /*--------------------------------------------------------------- pcf8563 test ---------------------------------------------------------------*/ #include <mega88pa.h> #include <pcf8563_twi.h> #define TWI_CLK_RATE 100000 #define MCU_FREQ_ 8000000 TWI_MASTER_INFO_t twi_master; // ЗДЕСЬ ВЫДАЕТ ОШИБКУ " '(' expected " !!! interrupt [TWI] void twi_master_isr(void) { twi_master_int_handler(&twi_master); // ОШИБКА " undefined symbol 'twi_master_int_handler' " } void main(void) { unsigned char day=1, month=1, hour=6, min=6, sec=6; int year=8; twi_init(&TWI0,TWI_SDASETUP_4CYC_gc,TWI_SDAHOLD_OFF_gc,false); // ОШИБКА " undefined symbol 'twi_init' " twi_master_init(&twi_master,&TWI0,TWI_BAUD_REG(MCU_FREQ_,TWI_CLK_RATE)); pcf8563_twi_init(&twi_master); #asm("sei") while(1) {} } чушь какая-то... особенно смущает, что про функции из "twi.h" (которая в этом проекте видится кодвижоном) компилятор пишет как про какие-то символы...
-
Здравствуйте. Пишу сейчас программу под attiny13, пишу в codevisionavr eval, нужно подключить dht11. Нашел c+h файлы, но не пойму как правильно установить библиотеку. На каком-то сайте нашел, что все скидывается в inc папку. Скинул - пишет что функция объявлена но не определена. Короче *.h файл видит, а *.c - нет. Заранее, спасибо.
- 1 ответ
-
- codevisionavr
- avr
-
(и ещё 1 )
C тегом:
-
Вопрос. Почему не выполняется на atmega328 команды? Тестировал в протеусе на частоте 8 мгц (в настройках проекта 20 мгц, но думаю на это не так сильно должно влиять). На микроконтроллере запущен аппаратный таймер - работает нормально. Через юарт (настроен только TXD) всё время шлёт: 011111111101111111110... Но сам код не хочет выполняться: while (1) { delay_ms(0.4); // выполнилось при первом цикле PORTD.6=1; // выполнилось при первом цикле delay_ms(0.4); // выполнилось при первом цикле putchar(PORTC.0+PORTC.1*2); // заморозилось и далее не выполняется, но аппаратный таймер работает, юарт флудит (011111111101111111110...) // функцию putchar нашёл в интернете PORTD.6=0; } PORTD.6 - настроен на выход PORTC.0 и PORTC.1 настроены на вход. Включены подтягивающие резисторы. P.S. Проект сделан в CodeVisionAVR с использованием генератора кода.
-
Здравствуйте! Установил CodeVisionAVR, повторяю уроки авторов, а у меня ихние коды не работают. Пожалуйста, подскажите, что нужно сделать, чтоб заработало. С уважением. Повторил код, проверил в протеусе, а он не заработал. Подскажите как правильно написать код? CodeVisionAVR версии 3.10 . Возможно нужно какие галочки ставить при создании проекта в программе? #include <mega8.h> // Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port B initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Port C initialization // Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0); // State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); // Port D initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped TCCR0=(0<<CS02) | (0<<CS01) | (0<<CS00); TCNT0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0<<AS2; TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20); TCNT2=0x00; OCR2=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<TOIE0); // External Interrupt(s) initialization // INT0: Off // INT1: Off MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); // USART initialization // USART disabled UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); SFIOR=(0<<ACME); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); // SPI initialization // SPI disabled SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0); // TWI initialization // TWI disabled TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE); while (1) { // Place your code here } } В CodeVisionAVR такой вариант написания кода.