ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
486986
OlegALL (11.02.2014 14:10 - 14:20, просмотров: 3780)
Привет Не выводятся единицы на порт D, контроллер ATmega8535 По аппаратной части вроде всё ок: все питания и земля есть, кварц работает, сигнал сброса есть, цепь сброса сделана. через резистор 10кОм. Код: main.c int main (void){ init(); PORTD = 0xFF; while (1){ } } functions.c #include "main.h" void init(){ // порт A //DDRA &= ~(1<<DDA0 | 1<<DDA1 | 1<<DDA2 | 1<<DDA3); // порт B DDRB |= (1<<DDB0) | (1<<DDB1); // порт D DDRD &= ~(1<<DDD0); DDRD |= (1<<DDD1) | (1<<DDD2) | (1<<DDD7); // вывод 7 - моргасик DDRD = 0xFF; // UART UBRR0 = 7; // скорость 57600 UCSR0B |= (1<<RXEN0) | (1<<RXCIE0) | (1<<TXEN0); // разрешили прерывания по приёму и передаче // переменные и флаги request[0] = 0; // посылка: 0x3A 0x01 0x00 0x3B request[1] = 0; request[2] = 0; request[3] = 0; answer[0] = REQUEST_START; // Dir_1 Ain_0 answer[1] = 0; answer[2] = 0; answer[3] = 0; answer[4] = 0; // Dir_1 Ain_1 answer[5] = 0; answer[6] = 0; answer[7] = 0; answer[8] = 0; // Dir_1 Ain_2 answer[9] = 0; answer[10] = 0; answer[11] = 0; answer[12] = 0; // Dir_1 Ain_3 answer[13] = 0; answer[14] = 0; answer[15] = 0; answer[16] = 0; // Dir_2 Ain_0 answer[17] = 0; answer[18] = 0; answer[19] = 0; answer[20] = 0; // Dir_2 Ain_1 answer[21] = 0; answer[22] = 0; answer[23] = 0; answer[24] = 0; // Dir_2 Ain_2 answer[25] = 0; answer[26] = 0; answer[27] = 0; answer[28] = 0; //flags.send_answer = 0; rx_stage = 0; // прерывания: SREG |= 0b10000000; // все }