22.01.2011, 14:52
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Код:
|
for (K=0; K‹=7; K++);
{
if (!(datum&0x80)) {output_low (DS);}
else {output_high(DS);}
output_high (SH_CP);
output_low (SH_CP);
datum=datum‹‹1;
}
return;
} |
Обрати внимание на точку с запятой после описания условия цикла.
Выполняется тупой инкремент K, без обработки тела цикла .
Удали ...
В знакогенераторе "0" , "9" неправильные.
Вместо "0" - "H" , "9" -"8".
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 23.01.2011 в 15:46.
|
|
|
Сказали "Спасибо" dosikus
|
|
|
23.01.2011, 23:31
|
|
Прописка
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Всё отлично заработало! Только "0" это не "Н", а "3F". И я дурак просмотрел ";" что значит сам зациклился! Спасибо ещё раз! Буду дальше заниматься, самое главное что охоту не отбил!
|
|
|
|
24.01.2011, 19:48
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от Prototup
|
"0" это не "Н", а "3F".
|
"H"- Это то что на индикатор выводило ...
__________________
Осторожно , злой кот
|
|
|
|
26.01.2011, 23:21
|
|
Прописка
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Охрененно смешно, но я всё равно всё понял! Спасибо ещё раз! Ща решаю новую проблему, если ещё разок обращюсь?
|
|
|
|
26.01.2011, 23:26
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от Prototup
|
Ща решаю новую проблему, если ещё разок обращюсь?
|
Без проблем...
__________________
Осторожно , злой кот
|
|
|
|
05.02.2011, 20:39
|
|
Вид на жительство
Регистрация: 09.12.2006
Сообщений: 337
Сказал спасибо: 422
Сказали Спасибо 34 раз(а) в 26 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Хочу вывести частоту порядка 2-2,5 кГц с вывода GP0 микроконтроллера 12F629 ( тактовая внутренняя 4 мГц) с помощью таймера Timer 1 (Timer 0 уже занят в программе), никак не могу придумать алгоритм, получается , что время срабатывания прерывания по таймеру 1 намного больше чем период необходимой частоты(2-2,5 кГц ).Подскажите кусок кода с подобной реализацией , если возможно, или посоветуйте как можно еще это сделать.
Р.С. Может возможно использование в прогремме еще раз Timer 0 , но с другим коэф. деления??
Последний раз редактировалось vlad_ru; 05.02.2011 в 20:44.
|
|
|
|
07.02.2011, 10:49
|
|
Прописка
Регистрация: 14.10.2006
Адрес: Ростов-на-Дону
Сообщений: 113
Сказал спасибо: 14
Сказали Спасибо 32 раз(а) в 21 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
vlad_ru, я в таких случаях делал "универсальное" прерывание по TMR0 с периодом 100-200 мкс, а необходимую сетку частот получал софтовыми счётчиками в прерывании. Естественно, тактовая частота должна быть ›= 4Мгц, а тело прерывания как можно короче.
|
|
|
|
07.02.2011, 11:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Цитата:
|
время срабатывания прерывания по таймеру 1 намного больше чем период необходимой частоты(2-2,5 кГц ).
|
В обработчике прерывания таймера1 загружать в таймер число (0-количество_требуемых_тактов). Для тактовой 4МГц и настройке таймера без предделителя это будет примерно 0хFE0C.
__________________
misterdi<@>i.ua
|
|
|
|
07.02.2011, 12:29
|
|
Прописка
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от MisterDi
|
В обработчике прерывания таймера1 загружать в таймер число (0-количество_требуемых_тактов). Для тактовой 4МГц и настройке таймера без предделителя это будет примерно 0хFE0C.
|
Правильнее - вычитать константу из текущего значения таймера.
|
|
|
|
07.02.2011, 12:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Согласен
__________________
misterdi<@>i.ua
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:05.
|
|