04.11.2012, 23:21
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сейчас в симуляторе проверял все работает.
В прерывание естественно не попаду, пока .
Обнуляю таймер при инициализации .
Код:
|
port_B_pullups(0x1F);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); //65.5 ms overflow
setup_timer_2(T2_DIV_BY_16,21,15); //352 us overflow, 5.2 ms interrupt
TMR1L = 0; //
TMR1H = 0; // |
Повторю - как вы проверяете обнуляет или нет ?
Если во время дебага с pickit - то учтите таймер не стопориться при бряках !!!
Надо копировать содержимое таймера в переменную буфер.
Типа этого :
Код:
|
TMR1L = 0;
TMR1H = 0;
bufferL=TMR1L ; // Здесь ставим бряк !!!
bufferH=TMR1H ; |
__________________
Осторожно , злой кот
|
|
|
Сказали "Спасибо" dosikus
|
|
|
04.11.2012, 23:36
|
|
Вид на жительство
Регистрация: 09.12.2006
Сообщений: 337
Сказал спасибо: 422
Сказали Спасибо 34 раз(а) в 26 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Вот сам код в оригинале , добавлен только перевод с китайского, модуль декодирования #include "wiegand.c" отключен . Использовал считыватель на U2270. Я поменял вход ввода данных у меня PIN_C2 , Вывод CFE пока не подключен.
Для начала хочу пока просто считать данные с карточки.
|
|
|
|
04.11.2012, 23:44
|
|
Вид на жительство
Регистрация: 09.12.2006
Сообщений: 337
Сказал спасибо: 422
Сказали Спасибо 34 раз(а) в 26 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Наблюдаю
TMR
TMR1L
TMR1H
В окнах Watch и Спешал функшинал регистр , ни как положено считают и в 0 не становятся . Ставил точки останова до и после и проходил их по шагам
|
|
|
|
05.11.2012, 00:48
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от vlad_ru
|
В окнах Watch и Спешал функшинал регистр , ни как положено считают и в 0 не становятся . Ставил точки останова до и после и проходил их по шагам
|
Я выше же вам отписал - почему вы не сможете, при отладке в живую, увидеть то что вы хотите.
Таймеры в точках останова не замораживаются , они продолжают работать.
И если вы брякаетесь даже на процедуре обнуления таймера то между бряком и считыванием регистров pickit'ом- таймер успевает отработать кучу циклов.
Единственный выход - копировать их содержимое в переменные буферы в тот момент когда нужно контролировать их содержимое.
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 05.11.2012 в 09:36.
|
|
|
Сказали "Спасибо" dosikus
|
|
|
05.11.2012, 21:58
|
|
Частый гость
Регистрация: 01.03.2008
Сообщений: 37
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от dosikus
|
Eddy71, юзание встроенных либ приведет вас в никуда...
|
тогда смысл использования CCS ?
надо юзать Мкрочип или Хайтек они более АСМ подобные...
да и вообще использование С компилятора для писания в стиле Ассемблера
изврат какой то, использовать АСМ тогда и точка.
|
|
|
|
06.11.2012, 08:13
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от xDriver
|
надо юзать Мкрочип или Хайтек они более АСМ подобные...
|
Угу - покажите мне нормальный хайтек поддерживающий новые 16е, 12е, 10е .
Который без танцев с бубном работает.
У Микрочипа есть компилятор на выше названные? Кроме пока глючного XC8 c таким же глючным MPLABX .
А встроенные функции уводят от стандарта.
__________________
Осторожно , злой кот
|
|
|
|
06.11.2012, 13:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,124 раз(а) в 5,642 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Чем не устраивает компилятор?
Код:
|
set_timer1(0);
0139: CLRF 0F
013A: CLRF 0E |
(это только что для pic16 скормил) Вы можете компактней написать?
|
|
|
|
06.11.2012, 13:42
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от Eddy71
|
Чем не устраивает компилятор?
Код:
|
set_timer1(0);
0139: CLRF 0F
013A: CLRF 0E |
(это только что для pic16 скормил) Вы можете компактней написать?
|
Именно этим set_timer1(0);
Это потеря совместимости. Покажите мне ЭТО в другом компиляторе .
__________________
Осторожно , злой кот
|
|
|
|
06.11.2012, 14:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,124 раз(а) в 5,642 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
А зачем в другом? Человек спросил, как ему таймер установить в CCS, я ответил. Ветка то про CCS, не про хайтек..
|
|
|
|
15.11.2012, 21:33
|
|
Прописка
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Уважаемые форумчане! подскажите как мне перевести код написанный на htc:
OPTION = 0b11010001; //настраиваем таймер на 1мс
TMR0 = 0;
T0IE = 1;
GIE = 1;
в код CCS:
частота кварца 4 мГц.
setup_timer_0(RTCC_INTERNAL, RTCC_DIV_2); //* внутреннее тактирование, *//
//*предделитель 2*//
set_timer0(0);
//* обнуляем timer0 *//
enable_interrupts(int timer 0); //*разрешение работы функции обработки
прерывания*//
#int_timer0
.................................................. .................................................. ...........................
void timer0_isr(void)
{if....бла...бла....бла... тело обработки функции прерывания
}
единственное что понятно: настройка, инициализация и обработчик прерываний от переполнения TMR0.
В чём я не прав?
Последний раз редактировалось Prototup; 15.11.2012 в 21:36.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:15.
|
|