Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Уроки СИ для AVR микроконроллеров

Непрочитано 03.03.2009, 23:36  
IOPA4
Почётный гражданин KAZUS.RUN
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,290
Сказал спасибо: 452
Сказали Спасибо 501 раз(а) в 267 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию Уроки СИ для AVR микроконроллеров

to: yuriji
Убрал баг проскакивания меню, попытался настроить таймер, гляньте:

Прикрепленный файл: 3733036.zip
Реклама:
IOPA4 вне форума  
Непрочитано 04.03.2009, 06:25  
yuriji
Прописка
 
Регистрация: 09.02.2007
Сообщений: 108
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
yuriji на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от IOPA4
to: yuriji
Убрал баг проскакивания меню, попытался настроить таймер, гляньте:

Что случилось с КАЗУСОМ вечером (с 17.00 до 23.00 Москвы) не пускает, и все тут?javascript:emoticon('')

По этому архиву(1644480) не работает вообще, часы не идут.
По этому (621628 за три часа работы, часы отстали на 93 минуты или 2 часа 27 мин.
Вот так, пока не работает и так как подсказать нет желающих я пошел изучать таймеры и прерывания, по результату отпишусь.

п/с последний архив (3733036) скачал на работе попробую.
javascript:emoticon('')



Прикрепленный файл: 3733036.zip
yuriji вне форума  
Непрочитано 04.03.2009, 07:24  
yuriji
Прописка
 
Регистрация: 09.02.2007
Сообщений: 108
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
yuriji на пути к лучшему
По умолчанию

Юрий (IOPA4) а почему бы вам не организовать на своей страничке
http://iopa4.narod.ru/

мини форум, а то последнее время КАЗУС перегружен.
К примеру как у моего хорошего знакомого (НЕ РЕКЛАМА) http://www.narod.ru/guestbook/?owner=15730287
yuriji вне форума  
Непрочитано 04.03.2009, 15:08  
IOPA4
Почётный гражданин KAZUS.RUN
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,290
Сказал спасибо: 452
Сказали Спасибо 501 раз(а) в 267 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию

yuriji
Юрий (IOPA4) а почему бы вам не организовать на своей страничке http://iopa4.narod.ru/

Стыдно, но просто не догадался. Слышал, что построить форум на Народ.ру не возможно - не позволяет движок, вот и не пытался. Спасибо, исправился.
IOPA4 вне форума  
Непрочитано 05.03.2009, 15:21  
IOPA4
Почётный гражданин KAZUS.RUN
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,290
Сказал спасибо: 452
Сказали Спасибо 501 раз(а) в 267 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию Уроки СИ для AVR микроконроллеров

to: alexkuba
Не могу врубиться, что за устройство Вы делаете, но мне кажется загнать в Атмега8 можно(если можно) с трудом. Нужно лишь ввести две переменные-массивы: для времен(исходные) и времен(расчетные) и сделать расчет два раза, потом получить разницу.
IOPA4 вне форума  
Непрочитано 05.03.2009, 17:03  
Irridium
Прохожий
 
Регистрация: 14.11.2007
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
Irridium на пути к лучшему
По умолчанию

Может немного не в тему, но я никак не могу разобраться как на си прочитать из озу двухбайтную переменную. Делал так:

Код:
	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е писал...
Irridium вне форума  
Непрочитано 05.03.2009, 17:44  
avr123-nm-ru
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

ИМХО так:

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
avr123-nm-ru вне форума  
Непрочитано 05.03.2009, 17:48  
dimonbest
Гражданин KAZUS.RUN
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Код:
 d= ((int) (*(buffer+1))‹‹8) | *(buffer+2) +i;
dimonbest вне форума  
Непрочитано 06.03.2009, 11:10  
Irridium
Прохожий
 
Регистрация: 14.11.2007
Сообщений: 4
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
Irridium на пути к лучшему
По умолчанию

Тоесть нужно сдвигать старший байт. на asme все как-то проще. Спасибо всем!
Irridium вне форума  
Непрочитано 06.03.2009, 11:47  
avr123-nm-ru
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от Irridium
Тоесть нужно сдвигать старший байт. на asme все как-то проще. Спасибо всем!
Ну если к переменной d тоже обратится через указатели то сдвигать не надо будет.

а АСМ он конечно ГОРАЗДО проще.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видео уроки dosikus Микроконтроллеры, АЦП, память и т.д 61 23.01.2012 21:06
Видео уроки (flash) Proteus 7.1 fmssp Proteus 5 13.08.2007 03:56
AVR уроки Рюмика chipic128 Proteus, KiCAD и другие ECAD 9 07.03.2007 21:46
уроки от LABCENTRE(PIC12F675+C) dosikus Микроконтроллеры, АЦП, память и т.д 22 09.10.2006 10:16


Часовой пояс GMT +4, время: 12:43.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.