

the_victor
Участник-
Content Count
8 -
Joined
-
Last visited
Community Reputation
0 ОбычныйКонтакты
-
Сайт
Array
Информация
-
Город
Array
-
неправильно считает дефайн и таймер
the_victor replied to the_victor's topic in AVR
мега 128. таймер 0. похоже напутал с инициализацией таймера. надо делать TCCR0=(1<<CS02)|(1<<CS01)|(1<<CS00); вот растяпа. он похоже по многу раз переполнялся и попадал на нужные значения, что убедило меня в правильности программы. -
неправильно считает дефайн и таймер
the_victor posted a topic in AVR
вобщем есть такие фрагменты кода из проекта, которые еще работает только частично. #define F_CPU 8000000 //тактовая частота #define TIC0 ((unsigned char)(F_CPU/(1024*255))) //столько раз в секунду переполняется таймер 0 #define SCROLL_TIME ((unsigned char)(0,5*TIC0)) SIGNAL(TIMER0_OVF_vect) { tics.led_scroll++; } main() { //тактовая для таймера0 = F_CPU/1024 //разрешаем прерывание по переполнению таймера0 TCCR0=(1<<CS02) | (1<<CS00); TIMSK|=(1<<TOIE0); if ( tics.led_scroll == SCROLL_TIME ) { tics.led_scroll = 0; и тд прокрутка бегущей строки. } } в общнм проблема: по логике вещей таймер переполняется 8000000(такт частота) / ( 1024(делитель)*256(разрядность счетной переменной) ). если ето сделать через дефайн, то работает, прокручивается на глаз где-то за пол секунды. если посчитать на калькуляторе то получим значение 30. но компилятор вычисяляет значение 124(выводил на индикатор). при том если поставить в условие 30, то прокрутка становится очень быстрой. то есть таймер срабатывает в несколько раз чаще чем должен и при этом дефайн вычисляется во столько же раз больше. ето не поддается моему пониманию. я думаю что как то неверно преобразуются типы. но все равно ничего не понимаю. если в формуле дефайна делить на 255 то работает, а если на 256 (что точнее), то программа даже не заходит в прокрутку, бегущая строка замирает. все типы uint8_t. warning: integer overflow in expression в условии сравнения. WinAVR-20070525 в архиве все что я накодил. бегущая строка работают, кнопки не не так как должны(срабатывает длинное нажатие, но это все из за этих глючных дефайнов). в принципе можно смириться, но охото понять почему так, и для длительной задерки 5сек для кнопки не охото вводить 16бит пременную. -
глюки с форматированным выводом
the_victor replied to Sergio_chiper's topic in IAR
ссылка в тему http://www.citforum.ru/security/articles/printf/ Неизвестная уязвимость функции printf Крис Касперски -
ЖКИ WH1602D (KS0066)
the_victor replied to Labinskiy's topic in AVR
подключенно правильно? 1 -> +5 2 -> GND 3 -> движок резистора 10 -20ком -
Работа с WinAVR+AVRStudio4.12+avrlib
the_victor replied to MRW's topic in AVR
путь указан не верно прописать полный путь #include <d:\dev\avr\AVRLib\uart.h> или #include <..\AVRLib\uart.h> хз, может косяк с makefile. попробовать создать при помощи входящей в комплект winavr утилиты MFile [WinAVR] -
подключить файл с константами
the_victor replied to BigM@n's topic in AVR
попробовал скомпилить пример для LCD http://atmel.ru/Articles/Atmel17_app3.htm статья http://atmel.ru/Articles/Atmel17.htm .org $200 rus_buf: .DB $11,$11,$11,$11,$0F,$01,$01,$00 .DB $12,$12,$12,$12,$12,$12,$1f,$01 .DB $1f,$11,$11,$11,$11,$11,$11,$00 text: .DB ' ',' ',' ',' ','O','T','C',0,'E','T' .DB ' ','c',' ','A',1,2,':',' ',' ',' ' на строчке text: D:\MK_rab\AVRstd\AvrStudio4\lcd.asm(160): error: syntax error, unexpected INTEGER не понимаю, что ей не нравится? -
Металоискатель на AVR и цветном LCD
the_victor replied to yarunt's topic in AVR
применение узи в данной области лично у меня вызывает сомнения. например в больнице перед узи обследыванием намазывают спец гель. по аналогии надо будет намазывать что то на землю для поисков монет. а ето бред. а если без контакта с землей, то устройство будет типа локатора, как у летучих мышей, что под землей оно не покажет. imho. -
Getting started или faq по AVR
the_victor replied to beer_warrior's topic in AVR
к сожалению все ссылки в оглавлении на той странице имеют вид http://my.elvisti.com/zhenja/getting_started_avr.html# и соответственно нельзя ниче посмотреть. это только у меня так или у всех?