mas123 писал(а):Разумеется. Толку от переключения, если ты сигнал сброс не формируешь.
Ты хочешь сказать, что сигналом "сброс" является переход пина из "1" и "1".
Причем пина, настроенного как вход?
Формирую при начале инициализации, только не знаю зачем.
Чета я не пойму,что сброс не нужен так? Или он не правильно настроен?
mas123 писал(а):
Прекрасно. Давай теперь заглянем в даташит на Атмегу и посмотрим - а какой же ток допустимо снимать с выхода?
27.1 Абсолютные максимальные рейтинги *
DC Current per I/O Pin 40.0mA у меня 80mA
DC Current V CC and GND Pins 200.0mA PDIP у меня 0,9A
Output Low Voltage(Ports A,B,C,D) IOL = 20mA, VCC = 5V
Входной ток утечки I / O Pin Vcc = 5.5V, pin low (absolute value) Max 1µA
Странно но оно еще работает, значит не совсем максимальные.
Я думал на эту тему искал по форумам и понял
Что чем больше ампер тем лучше(лишь бы не меньше),
главное чтобы вольт было точно, разве не так?
mas123 писал(а):
Я повторяю свой вопрос: какое действие в языке Си выполняет оператор "^"?
Попробуй дважды вызвать "PIN_LED_0" и расскажи что случилось и почему.
исключающее ИЛИ
11110000 XOR 10101010 = 01011010
11=0
00=0
10=1
01=1
Подбирал, подбирал заработало, ура. Вот так они выставлялись особо та и не понимая что это такое.
Как по другому выставлять биты в регистре не нащёл.
Запускаю два раза PIN_LED_0 (PORTB^=(1<<PORTB2))
МК выполняет 2 раза и 2 раза включает и выключает 2й бит. порта B.
on off
on off
При отладки вижу, у меня весь код не рабочий.
define не правильные вместо 1, шлю 0;
SPI не правильно. Вместо 0, шлю 1;
mas123 писал(а):
Я спросил не про передачу байта.
В момент окончания передачи у тебя формируется прерывание SPI.
Обработчика прерывания нет.
Тебя спасает лишь то, что глобальные прерывания у тебя запрещены.
Прерывания запрещены, по умолчанию нули, туда не лазил еще.
А когда вызываю
PIN_LED_0;
PIN_LED_0;
5й бит GIFR почему-то включается.
mas123 писал(а):
Интересно, когда же ты просто откроешь даташит на ILI и на Atmega и почитаешь их?
Нет его в даташите дисплея. Поиском искал DORD нету.
В меге есть, так мне надо знать какой он для дисплея нужен.
Ааа на графике 7й бит передается первым.
MSB first (DORD = 0) т.е. как на стр
38
по даташиту Atmel при DORD = 0 передаем так. 7 6 5 4 3 2 1 0