Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
МК выпуска 11_го и 12_го годов (приобретал их ещё по смешным ценам 44 р.)… предполагаю дело не в МК… может быть в самом АВ, хотя тоже мало вероятно… но факт имеет месту быть… вот если бы код не заработал не на одном МК, я бы уже нашёл причину, а так её сложно вычислить. Кстати похожий алгоритм прекрасно работает и на меге32. Вот вспомнил… могу проверить данный алгоритм ещё на меге8535 (есть у меня и такой камень).
МК выпуска 11_го и 12_го годов (приобретал их ещё по смешным ценам 44 р.)… предполагаю дело не в МК… может быть в самом АВ, хотя тоже мало вероятно… но факт имеет месту быть… вот если бы код не заработал не на одном МК, я бы уже нашёл причину, а так её сложно вычислить. Кстати похожий алгоритм прекрасно работает и на меге32. Вот вспомнил… могу проверить данный алгоритм ещё на меге8535 (есть у меня и такой камень).
|
|
|
 |
Добавлено: 01 фев 2018, 10:38 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
"У меня есть МЫСЛЬ и я её думаю"(С) Какого года выпуска контроллер (48) ? Дело в том, что после объединения Атмел и Микрочир, документация не объединяет ATmega328 и младшие модели, как это у "Атмела" было. Может какая то "засада"?
"У меня есть МЫСЛЬ и я её думаю"(С) Какого года выпуска контроллер (48) ? Дело в том, что после объединения Атмел и Микрочир, документация не объединяет ATmega328 и младшие модели, как это у "Атмела" было. Может какая то "засада"?
|
|
|
 |
Добавлено: 01 фев 2018, 03:01 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
Основная хотелка была разобраться в причине неработоспособности данного варианта алгоритма на младших МК… У меня данный код работает только на 328_й… на 168_й тоже не работает… я плюнул и написал программный алгоритм который работает без сбоев. А вот что нужно программному хз… инициализация модуля и ход алгоритма в обоих версиях одна и та же… в общим мистика… 
Основная хотелка была разобраться в причине неработоспособности данного варианта алгоритма на младших МК… У меня данный код работает только на 328_й… на 168_й тоже не работает… я плюнул и написал программный алгоритм который работает без сбоев. А вот что нужно программному хз… инициализация модуля и ход алгоритма в обоих версиях одна и та же… в общим мистика… :?
|
|
|
 |
Добавлено: 01 фев 2018, 00:27 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
Есть "сырой" материал. Давно было, программа работает и на прием и на передачу. Если хочешь можем "помучаться". На ATmega168 работало...
Есть "сырой" материал. Давно было, программа работает и на прием и на передачу. Если хочешь можем "помучаться". На ATmega168 работало...
|
|
|
 |
Добавлено: 31 янв 2018, 23:55 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
Все не проверял… в основном как помнится проблема была с регистром КОНФИГ… ладно всё это пустое… не судьба значит. 
Все не проверял… в основном как помнится проблема была с регистром КОНФИГ… ладно всё это пустое… не судьба значит. :D
|
|
|
 |
Добавлено: 31 янв 2018, 23:21 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
И снова, здрасте ...если я просто записываю байт в регистр модуля и потом его же считываю... с этого момента по подробнее: со всеми регистрами так?
И снова, здрасте :smile: ...если я просто записываю байт в регистр модуля и потом его же считываю... с этого момента по подробнее: со всеми регистрами так?
|
|
|
 |
Добавлено: 31 янв 2018, 23:09 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
Привет! Мне интересно понять, что в маём варианте не так. Инициализацию я делаю одинаково, что при программной реализации SPI, что при аппаратной… при программной работает на любом МК без замечаний… а вот аппаратная часть не совсем так как надо… что интересно, если я просто записываю байт в регистр модуля и потом его же считываю, практически всегда работает нормально… как только начинаются дополнительные действия в алгоритме, так вот тогда появляются какие-то ошибки…
Привет! Мне интересно понять, что в маём варианте не так. Инициализацию я делаю одинаково, что при программной реализации SPI, что при аппаратной… при программной работает на любом МК без замечаний… а вот аппаратная часть не совсем так как надо… что интересно, если я просто записываю байт в регистр модуля и потом его же считываю, практически всегда работает нормально… как только начинаются дополнительные действия в алгоритме, так вот тогда появляются какие-то ошибки…
|
|
|
 |
Добавлено: 31 янв 2018, 21:48 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
Привет! Где то неполная инициализация. Китайский конвертор nRF24L01 SPI - IIC(TWI) у одного товарища работает четко посылая и принимая по одному байту. Конвертор выполнен на ATmega48.
Привет! Где то неполная инициализация. Китайский конвертор nRF24L01 SPI - IIC(TWI) у одного товарища работает четко посылая и принимая по одному байту. Конвертор выполнен на ATmega48.
|
|
|
 |
Добавлено: 31 янв 2018, 18:18 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
Проверил код на ATtmega168P, ATtmega168А, ATtmega8А – не работает! А вот на ATtmega328P – работает только в путь! Причину так и не нашёл. Алгоритм передатчика модулем связи nRF24L01: При подаче питания проверяется наличие модуля nRF24L01 на шине SPI. Проверка производится чтением регистра SETUP-AW по адресу $03. Если прочитанное значение соответствует $03 (значение по умолчанию), то считается что модуль подключен. При этом моргнёт красный светодиод, сигнализируя о подаче питания (если модуль не подключен, то поочерёдно будут зажигаться и тухнуть все три светодиода). После проверки модуля на шине производится установка необходимых значений в регистры модуля. Далее по нажатию кнопки производится отправка байта в «космос»… нажатие кнопки сигнализирует красный светодиод… если после отправки байта получено из «космоса» подтверждение о приёме, то один раз моргнёт зелёный светодиод. Если ответа нет зелёный светодиод будет многократно моргать… моргание жёлтого светодиода сигнализирует о неверном значении в регистре CONFIG модуля.
ATtmega48P_nRF24L01.zip [42.6 КБ]
Скачиваний: 1361
Проверил код на ATtmega168P, ATtmega168А, ATtmega8А – не работает! А вот на ATtmega328P – работает только в путь! :roll: Причину так и не нашёл. :(
Алгоритм передатчика модулем связи nRF24L01: При подаче питания проверяется наличие модуля nRF24L01 на шине SPI. Проверка производится чтением регистра SETUP-AW по адресу $03. Если прочитанное значение соответствует $03 (значение по умолчанию), то считается что модуль подключен. При этом моргнёт красный светодиод, сигнализируя о подаче питания (если модуль не подключен, то поочерёдно будут зажигаться и тухнуть все три светодиода). После проверки модуля на шине производится установка необходимых значений в регистры модуля. Далее по нажатию кнопки производится отправка байта в «космос»… нажатие кнопки сигнализирует красный светодиод… если после отправки байта получено из «космоса» подтверждение о приёме, то один раз моргнёт зелёный светодиод. Если ответа нет зелёный светодиод будет многократно моргать… моргание жёлтого светодиода сигнализирует о неверном значении в регистре CONFIG модуля.
[attachment=0]ATtmega48P_nRF24L01.zip[/attachment]
|
|
|
 |
Добавлено: 10 янв 2018, 19:45 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Не выясненный феномен с аппаратным SPI на ATtmega48P |
Цитата |
|
[quote="Igor60"]Есть вопрос - только SPI "не пашет" или программа в целом.[/quote] Привет, привет!!! :lol: Проблема возникла только с аппаратным SPI… сам МК по остальному алгоритму отрабатывает нормуль. Проблема в том, что почему-то не записываются в регистры модуля связи то, что я пытаюсь отослать… допустим отправил в регистр байт, а потом его прочёл – выясняется, что не соответствуют данные в том регистре отправленным. Написал для него программный алгоритм SPI - программный работает как часы. 8-) Даже и не знаю на что грешить. :roll: Сам алгоритм SPI на меге 328 работает, а на меге48 не хочет… у меня есть мега168 и мега8… попробую ещё на них.
|
|
|
 |
Добавлено: 10 янв 2018, 01:36 |
|
|
 |