22.04.2012, 18:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
да я от асма убежал, как только пикбэсик увидел! А уж микроэйсик и микропаскаль для меня панацеей стали. А вот теперь на С перешел. Из принципа. Даже под винду не любимый Дельфи, а С#... Насколько же проще на Дельфи все делается... А Вы про асм...
Насколько я помню, включение и выключение собаки прописывается в фьюзах. Так что под ПИК16 не светит.
Свою проблему я обошел, но наткнулся на другую... Проблемы с паразитным питанием. Но это уже другая тема.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
|
|
|
|
22.04.2012, 18:56
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от DK
|
да я от асма убежал
|
Да не писать на нем , а знать .
Сообщение от DK
|
Насколько я помню, включение и выключение собаки прописывается в фьюзах. Так что под ПИК16 не светит.
|
Ну я же привел пример . В 16F887 управляется программно если он выключен в конфиге . Если включен то не управляется .
Страница 225 даташита:
Цитата:
|
bit 0 SWDTEN: Software Enable or Disable the Watchdog Timer(1)
1 = WDT is turned on
0 = WDT is turned off (Reset value)
Note 1: If WDTE Configuration bit = 1, then WDT is always enabled, irrespective of this control bit. If WDTE
Configuration bit =0, then it is possible to turn WDT on/off with this control bit.
|
__________________
Осторожно , злой кот
|
|
|
|
22.05.2012, 14:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Прикол CCS.
__________________
Глаза боятся,а руки делают.
|
|
|
|
22.05.2012, 18:17
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
CERGEI1982, А в чем прикол то ?
__________________
Осторожно , злой кот
|
|
|
|
23.05.2012, 02:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Компиляция функции:
Код:
|
output_high(PIN_A3); |
и
Это один и тож же вывод.
__________________
Глаза боятся,а руки делают.
|
|
|
|
23.05.2012, 05:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Еще что странно при одном объявлении
Код:
|
#use i2c(Master,Fast,sda=PIN_B0,scl=PIN_B1,restart_wdt, force_hw) |
в файле main.h.Начинаем работать с i2c в файле ds3231.c
Код:
|
int hour_temp;
restart_wdt();
i2c_start();
i2c_write(0xD0);
i2c_write(0x0E);
i2c_write(0x00);
i2c_write(0x00);
i2c_stop();
restart_wdt();
delay_us(200); |
Работает аппаратный i2с,дальше встречаясь в файле main.c уже работаем программный i2c.При этом объявляю один раз #use i2c.
Объявил в main.c #use i2c(Master,Fast,sda=PIN_B0,scl=PIN_B1,restart_wdt, force_hw) и заработал везде аппаратный i2c.
__________________
Глаза боятся,а руки делают.
Последний раз редактировалось CERGEI1982; 23.05.2012 в 05:53.
|
|
|
|
23.05.2012, 13:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Пытаюсь по условию masiv&&0x80 выставить 1 или 0 на сдвиговый регистр внешний,а у меня получается что если не ноль то условие истинно,что то я напутал?
__________________
Глаза боятся,а руки делают.
|
|
|
|
23.05.2012, 15:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,124 раз(а) в 5,642 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Зачем велосипед изобретать? Там уже всё готовое есть.
Код:
|
byte buffer[3];
for(i=0; i‹=24; ++i){
// Wait for clock high
while (!input(PIN_A2));
shift_left(buffer,3,input(PIN_A3));
// Wait for clock low
while (input(PIN_A2));
}
// reads 24 bits from pin A3,each bit is read
// on a low to high on pin A2 |
Кроме команды shift есть еще и rotate. Очень полезные. Последовательный ввод/вывод ими делается.
Последний раз редактировалось Eddy71; 23.05.2012 в 15:42.
|
|
|
|
24.05.2012, 03:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
К тому же он работает со структурами или массивами,а не с байтами.
Благодарен за напоминание функций,но все таки откуда такие ошибки,мои или компилятора?
Помогло
__________________
Глаза боятся,а руки делают.
Последний раз редактировалось CERGEI1982; 24.05.2012 в 04:20.
|
|
|
|
24.05.2012, 16:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,124 раз(а) в 5,642 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
С байтами тоже работает. Проверено. А ошибка не у компилятора. ![Прикольно](images/smilies/icon_wink3.gif)
Если условие стоит &&, то TRUE на выходе только тогда, когда оба числа не "0". В стандарте на Си так описано
Последний раз редактировалось Eddy71; 25.05.2012 в 11:25.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:23.
|
|