Обсуждаем контроллеры компании Atmel.
Ответить

Re: Не корректно работает передача Slave-to-Master по SPI

Сб окт 20, 2018 00:35:21

Alkul писал(а):Не верю - ответ был написан почти через два часа

Вы издеваетесь...)) :)))
ARV писал(а):у товарища коментарии в программе из следующего разряда...

нет, это из вашего разряда - "когда нечего написать, напишу чего-нибудь" ... ))) :)))
Вы рекомендуете новичкам очень плохой стиль программирования

Да ладно)) Все современные приборы работают в таком "стиле".
Для каких именно "блоков" AVR у вас готовы куски кода?

Для всех... которые использую))
dosikus писал(а):ты еще не видел корабельников_стайл , там в обязательном порядке надо было комментировать каждую строчку на асме.

А вас ктото тут заставляет коментить каждую строчку?)) Помоему я ясно (по-русски) написал:
roman.com писал(а):каждый пишет кому как удобней )) Главное чтобы сам понимал что пишешь))

Re: Не корректно работает передача Slave-to-Master по SPI

Сб окт 20, 2018 19:06:47

Почему не видел? Сам таким был лет 30 назад.

Re: Не корректно работает передача Slave-to-Master по SPI

Сб окт 20, 2018 19:52:12

там в обязательном порядке надо было комментировать каждую строчку на асме.

Я комметирую каждую строчку. Это очень помогает, когда открываешь листинг где-нибудь через год.
Вот так:
Спойлер
Код:
;Макрос вычисляет адрес символа по его номеру, который перед стартом макроса должен быть
;в рег.R25 и возвращает в рег.R25 код индицируемого символа
.macro GETCODE
   push R3         ;Сохранить на стеке
   push ZL         ;используемые
   push ZH         ;регистры
   ldi ZL,low(TABLSEG)      ;Занести в рег.пару Z начальный адрес
   ldi ZH,high(TABLSEG)   ;таблицы с кодами отображаемых символов   
   clr R3         ;Обнулить регистр, который будет прибавляться с старшему байту адреса для
            ;учета бита переноса при сложении младшего байта адреса со смещением
   add ZL,R25      ;Прибавить к младшему байту адреса номер отображаемого символа
            ;как смещение от начала таблицы
   adc ZH,R3         ;Прибавить к старшему байту адреса нуль с учетом переноса из младшего разряда
   lsl ZL         ;Умножить адрес начала строки на 2, так как доступ к флеш-памяти
   rol ZH         ;осуществляется побайтно
   lpm R25,Z         ;Занести в рег.R25 код индицируемого символа из таблицы TABLSEG во флеш-памяти
   pop ZH         ;Восстановить со стека
   pop ZL         ;использованные
   pop R3         ;регистры
.endmacro


Это плохо?

Re: Не корректно работает передача Slave-to-Master по SPI

Сб окт 20, 2018 20:28:54

Alkul писал(а):Это плохо?
это примерно так же, как если бы у вас на холодильнике висела бирочка "это холодильник", на двери "это дверь", на собаке "это собака" и на каждом члене вашей семьи тоже висели бы бирочки с именем и типом родства.


согласитесь, что для обычного, разумного и здравомыслящего человека это слегка странно? так же странно на push r3 писать комментарий "сохранение в стеке"

Re: Не корректно работает передача Slave-to-Master по SPI

Сб окт 20, 2018 20:55:30

Alkul, косвенно это говорит о уровне ниже плинтуса.
А напрямую сообщаю ,что пейсатель никогда не достигнет чего либо.
Хотите расти, почитайте о самодокументируемом коде...

roman.com, нет такого -каждый пишет, как хочет. Есть только -каждый д***чет, как хочет. Осознайте разницу.
И здесь либо вы пишете по правилам либо занимаетесь онанизмом интимно не вываливая свои извращения в паблик.

Re: Не корректно работает передача Slave-to-Master по SPI

Сб окт 20, 2018 21:44:31

Это плохо?

Это хорошо. Особенно для других, кто читает ваши программы..))
Alkul писал(а):Вы рекомендуете новичкам очень плохой стиль программирования.

Такой стиль:

ADCSRA = 0b11111111
//1... .... ADEN - 1- вкл ADC.
//.1.. .... ADSC - 1- Старт преобразования.
//..1. .... ADFR - 1- режим Непрерывного Преобразования.
//...1 .... ADIF - 1- флаг завершения преобразования/ -сброс программно/ -для прерывания очищается аппаратно.
//.... 1... ADIE - 1- Разрешение прерывания
//.... .1.. ADPS2 - предделетель
//.... ..1. ADPS1 - предделетель
//.... ...1 ADPS0 - предделетель
...и т.д

придумал не я)) Он используется повсюду... Например в анализаторах трафика...
1.jpg
(79.49 KiB) Скачиваний: 304

Сразу видно все флаги во всех байтах/регистрах...

И например в программируемых логических контроллерах (ПЛК)... в тех же системах SCADA...
2.jpg
(178.86 KiB) Скачиваний: 281

Заходишь в настройки промышленного контроллера и сразу видно состояние всех выводов...
...и т.д и т.п. ))

Ну просто я привык работать с битами... Мне так удобней писать))


dosikus да здесь оказывается собрались одни интеллектуалы ! ... )) :)))

Re: Не корректно работает передача Slave-to-Master по SPI

Сб окт 20, 2018 22:15:21

А я не собираюсь с вами спорить и что либо доказывать.
Ваша позиция устраела лет так на сто, ущербна и безграмотна...
Ответить