pyzhman писал(а):И это
убрать. И понять, для чего было впихнуто.
Я уже понял для чего это впихнули, это пустой цикл для задержки.
http://icdevelop.narod.ru/picc/
Напишем простенькую программку для мигания светодиодом:
#include "pic.h"
#define bitset(var,bitno) ((var) |= 1 << (bitno))
#define bitclr(var,bitno) ((var) &= ~(1 << (bitno)))
main() {
unsigned int k;
CMCON = 0x07; //компараторы выключены
TRISA = 0b11111110; //RA0 выход
repeat:
for (k=0; k<45000; k++);//"пустой" цикл для временной задержки
bitset(PORTA, 0); //выставить на RA0 высокий уровень
for (k=0; k<45000; k++);
bitclr(PORTA, 0); //выставить на RA0 низкий уровень
goto repeat; //повторить ещё раз
}
Я так понял что не все компиляторы имеют delay.
------------------------------------
botchin писал(а):Я сам работаю на ASM, но вот что нашел.
Включи вот ети рядъ
#include <htc.h> // Required to interface with delay routines
#ifndef _XTAL_FREQ
// Unless already defined assume 4MHz system frequency
// This definition is required to calibrate __delay_us() and __delay_ms()
#define _XTAL_FREQ 4000000
#endif
должно получится
-----------------------------------------------
Поставил себе HI-TECH C Compiler for PIC10/12/16 MCUs (PRO Mode) V9.71a
обе функции не трябуют #include <htc.h>
функция _delay(unsigned long ); проходит
функция __delay_us(unsigned long ); проходит требует #define _XTAL_FREQ 4000000
функция __delay_ms(unsigned long ); проходит требует #define _XTAL_FREQ 4000000
Заметь _delay() с один прочеркон, а __delay_us() i __delay_ms() с два
Огромное спасибо за попытки мне помочь! Но это мне не помогло( компилятор выдаёт теже ошибки. Этот компилятор был в стандарте с MPLAB-ом, думаю стоит попробовать установить другую версию или компилятор...
-------
Кстати, пробовал вставлять Нопы с асма, задержку даёт, только очень маленькую, после этого вставил тот пустой цикл для задержки всё стало отлично МОРГАТЬ)). Простая прога моргалка уже залита в МК и стабильно могает уже 30мин. А с кнопками есть ещё вопросы, при нажатии кнопки светодиод почему-то не включается на постоянную работу он просто моргает поочерёдно с постоянно моргающим светодиодом.
--------------------
А FlowCODE я так понял имеет ошибки, по крайней мере для pic12f675 100%! Конфигурации в hex не ложит(PICkit об этом предупреждал. Конечно, после прошивки МК не работал, но прошивка была удачно залита) и в оболочке я мог (как бы) делать GP3 как на вход так и на выход.