реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
Dimmix
сообщение Sep 29 2010, 11:41
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 645
Регистрация: 24-10-05
Пользователь №: 10 033



Гспда подскажите плиз, Атмега128 читает по SPI spi-ADCт.е. CS/CLK/DO , т.е. сначала пишет в SPDR для запуска а потом его читает что с ацп, все прекрасно выводит на монитор, но в программе считанный баит и записанный в переменную
IN R2,SPDR
STS VAR,R2

нигде не читается и никто к нему не обращается, может спи дата регистр сохраняется кудато индиректом или как данные могут еще выводится из спи дата регистра. Т.е могут быть какието заморочки как с портом F в который нужно индиректом писать,

Сообщение отредактировал Dimmix - Sep 29 2010, 12:28
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 29 2010, 12:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Dimmix @ Sep 29 2010, 15:41) *
но в программе считанный баит и записанный в переменную нигде не читается и никто к нему не обращается
Что значит приведенная выше цитата?
Вы, что, ищете в программе команды in и out с адресом 0F и не находите? В m128 в этот регистр SPI можно записать(считать), обращаясь к нему как ячейке ОЗУ (командами ld, lds, st, sts) с адресом 2F.


Цитата(Dimmix @ Sep 29 2010, 15:41) *
...и записанный в переменную
IN R2,SPDR
STS VAR,R2
нигде не читается и никто к нему не обращается
Вы, что? Не нашли в программе обращение к VAR, за исключением указанного в этом куске программы места?
Go to the top of the page
 
+Quote Post
Dimmix
сообщение Sep 29 2010, 13:04
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 645
Регистрация: 24-10-05
Пользователь №: 10 033



Цитата(Палыч @ Sep 29 2010, 15:38) *
Что значит приведенная выше цитата?
Вы, что, ищете в программе команды in и out с адресом 0F и не находите? В m128 в этот регистр SPI можно записать(считать), обращаясь к нему как ячейке ОЗУ (командами ld, lds, st, sts) с адресом 2F.


Вы, что? Не нашли в программе обращение к VAR, за исключением указанного в этом куске программы места?


Да кроме как в этом месте к переменной нигде нет обращений, похоже тут какието заморочки со страницами MPZ видимо нужно искать индирект с адресом этой переменной,
Дело в том что нужно перетащить программу с атмеги 128 на 32 а там на 128 мешает MPZ

Подскажите может есть какие то апноты по работе с SPI ADC

Сообщение отредактировал Dimmix - Sep 29 2010, 19:15
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Sep 30 2010, 07:55
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Цитата(Dimmix @ Sep 29 2010, 19:04) *
Дело в том что нужно перетащить программу с атмеги 128 на 32 а там на 128 мешает MPZ

Подскажите может есть какие то апноты по работе с SPI ADC


Программа на чем написана? Asm? C? Выложите фрагментик побольше

Application Note AVR151.pdf - "Setup And Use of The SPI"
А на ADC должен быит свой даташит. А Вы даже его название не сказали

Кстати, что такое MPZ?? Имеете ввиду RAMPZ или что-то другое??

Сообщение отредактировал alexeyv - Sep 30 2010, 07:59
Go to the top of the page
 
+Quote Post
Dimmix
сообщение Sep 30 2010, 18:05
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 645
Регистрация: 24-10-05
Пользователь №: 10 033



СПИ АЦП это ADS7816, а программа написана на АСМе, похоже к переменной обрщение индиректом..ворос втом могут какието SPI библиотеки работать с этим ацп или нужно писать только на асме...
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Oct 1 2010, 03:44
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Цитата(Dimmix @ Oct 1 2010, 00:05) *
СПИ АЦП это ADS7816, а программа написана на АСМе, похоже к переменной обрщение индиректом..ворос втом могут какието SPI библиотеки работать с этим ацп или нужно писать только на асме...

Если Вы под библиотеками имеете ввиду скомпилированые *.o файлы, то вряд ли найдете.
Если Вы под библиотеками имеете ввиду файлы исходников с примерами работы с этим АЦП, то реализации на асме заколебетесь искать, а для Си вероятность намного выше (бескрайние просторы инета однако!!!)
Но вам нужен асм.......

1 вариант - берете даташиты на м128 и м32 сравниваете их, изучаете АВР-асм и исправляете прогу
2 вариант - представляете исходник и мы смотрим

Кстати, что такое MPZ ?????

ЗЫ. адреса регистров СПИАЙ, а также режимы работы у м128 и м32 совпадают. Так что в перекомпиляции не вижу проблем, если там не используется еще что-нибудь. Поменяйте тип кристалла и скажите сообщения после компиляции

ЗЫ.ЗЫ. Может проблема не в СПИАЙ, а в другой периферии?? по вашим словам там еще должен использоваться УАРТ
Go to the top of the page
 
+Quote Post
Dimmix
сообщение Oct 1 2010, 15:19
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 645
Регистрация: 24-10-05
Пользователь №: 10 033



Вамбще Микропас рулит... что то читается по SPI_READ(), но канечно лучше перетащить обработчик спи из атмеги, т.к. сканируются три канала, ацп с внешним мультиплексором, вобщем как по даташиту АЦП...

Ворос в том, возможно ли найти расчитанные выходные данные с SPI которые идут на монитор в этом асме Прикрепленный файл  mega_128.rar ( 35.56 килобайт ) Кол-во скачиваний: 121
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 12:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.0142 секунд с 7
ELECTRONIX ©2004-2016