03.03.2009, 23:36
|
#191
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Уроки СИ для AVR микроконроллеров
to: yuriji
Убрал баг проскакивания меню, попытался настроить таймер, гляньте:
Прикрепленный файл: 3733036.zip
|
|
|
|
04.03.2009, 06:25
|
#192
|
Прописка
Регистрация: 09.02.2007
Сообщений: 108
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Уроки СИ для AVR микроконроллеров
Сообщение от IOPA4
|
to: yuriji
Убрал баг проскакивания меню, попытался настроить таймер, гляньте:
|
Что случилось с КАЗУСОМ вечером (с 17.00 до 23.00 Москвы) не пускает, и все тут?javascript :emoticon(' ')
По этому архиву(1644480) не работает вообще, часы не идут.
По этому (621628 за три часа работы, часы отстали на 93 минуты или 2 часа 27 мин.
Вот так, пока не работает и так как подсказать нет желающих я пошел изучать таймеры и прерывания, по результату отпишусь.
п/с последний архив (3733036) скачал на работе попробую.
javascript :emoticon(' ')
Прикрепленный файл: 3733036.zip
|
|
|
|
04.03.2009, 07:24
|
#193
|
Прописка
Регистрация: 09.02.2007
Сообщений: 108
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Юрий (IOPA4) а почему бы вам не организовать на своей страничке
http://iopa4.narod.ru/
мини форум, а то последнее время КАЗУС перегружен.
К примеру как у моего хорошего знакомого (НЕ РЕКЛАМА) http://www.narod.ru/guestbook/?owner=15730287
|
|
|
|
04.03.2009, 15:08
|
#194
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
yuriji
Юрий (IOPA4) а почему бы вам не организовать на своей страничке http://iopa4.narod.ru/
Стыдно, но просто не догадался. Слышал, что построить форум на Народ.ру не возможно - не позволяет движок, вот и не пытался. Спасибо, исправился.
|
|
|
|
05.03.2009, 15:21
|
#195
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Уроки СИ для AVR микроконроллеров
to: alexkuba
Не могу врубиться, что за устройство Вы делаете, но мне кажется загнать в Атмега8 можно(если можно) с трудом. Нужно лишь ввести две переменные-массивы: для времен(исходные) и времен(расчетные) и сделать расчет два раза, потом получить разницу.
|
|
|
|
05.03.2009, 17:03
|
#196
|
Прохожий
Регистрация: 14.11.2007
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
|
Может немного не в тему, но я никак не могу разобраться как на си прочитать из озу двухбайтную переменную. Делал так:
Код:
|
uint8_t buffer[3] = {0x05, 0x01, 0x3a}
uint8_t i = 5;
uint16_t d;
Далее в программе:
d= *(buffer+1) + i;
то есть, мне нужно:
d=0x013a+5; // = 0x013f
а я в итоге получаю:
d=0x0001+5; // = 0x0006 |
Тоесть считывается второй байт но как 16-ти битная переменная (0001), а мне нужно чтобы считывалось два байта как 16-ти битная переменная(013A). Подскажите как правильно сделать. Ранше все на asmе писал...
|
|
|
|
05.03.2009, 17:44
|
#197
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
ИМХО так:
d= ((тип как у d)(*(buffer+1)))‹‹8 + (*(buffer+2)) + i;
должно дать :
d=0x013a+5; // = 0x013f
Советую почитать про указатели и массивы на Си
http://avr123.nm.ru/05.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
05.03.2009, 17:48
|
#198
|
Гражданин KAZUS.RU
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
|
Код:
|
d= ((int) (*(buffer+1))‹‹8) | *(buffer+2) +i; |
|
|
|
|
06.03.2009, 11:10
|
#199
|
Прохожий
Регистрация: 14.11.2007
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
|
Тоесть нужно сдвигать старший байт. на asme все как-то проще. Спасибо всем!
|
|
|
|
06.03.2009, 11:47
|
#200
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от Irridium
|
Тоесть нужно сдвигать старший байт. на asme все как-то проще. Спасибо всем!
|
Ну если к переменной d тоже обратится через указатели то сдвигать не надо будет.
а АСМ он конечно ГОРАЗДО проще.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:04.
|
|