Что делаю не так в коде:
Код: Выделить всё
#include <12F675.h>
#device ADC=10
#fuses INTRC_IO,NOWDT,NOPUT,NOPROTECT,NOCPD,NOMCLR
#use delay(clock=4000000)
#define GP0 PIN_A0
#define GP1 PIN_A1
#define GP2 PIN_A2
#define GP3 PIN_A3
#define GP4 PIN_A4
#define GP5 PIN_A5
#byte OSCCAL = 0x80
void init()
{
OSCCAL = 0x80; // set internal oscillator to mid frequency
set_tris_a( 0b11111111 ); // set GP1 output, all other inputs
setup_comparator( NC_NC_NC_NC ); // disable comparators
setup_adc_ports( NO_ANALOGS ); // disable analog inputs
setup_adc( ADC_OFF ); // disable A2D
}
main()
{
init();
while ( TRUE ) // blink LED
{
output_high( GP0 ); // turn LED on
delay_ms( 250 ); // wait 250ms
output_low( GP0 ); // turn LED off
delay_ms( 250 ); // wait 250ms
output_high( GP1 ); // turn LED on
delay_ms( 250 ); // wait 250ms
output_low( GP1 ); // turn LED off
delay_ms( 250 ); // wait 250ms
output_high( GP3 ); // turn LED on
delay_ms( 250 ); // wait 250ms
output_low( GP3 ); // turn LED off
delay_ms( 250 ); // wait 250ms
}
}
Диоды, подключенные на 7-ой и 6-ой пины PIC12F675 (GP0, GP1) мигают так как и хотелось, а вот диод, высящий на 4-ом пине (GP3) нифига не мигает. Плата и диод в порядке. Где я ошибся в коде?
Есть подозрение, что в инициализации выходов ошибка. Не смог пока найти описание команды set_tris_a( 0b11111111 );.