AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
27.01.2013, 19:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
dosikus, ну ты герой!
|
|
|
|
27.01.2013, 19:05
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
omercury, Дык, что в лоб, что по лбу.
Не понимают люди, что их простыни разгребать одно мучение...
__________________
Осторожно , злой кот
|
|
|
Сказали "Спасибо" dosikus
|
|
|
27.01.2013, 20:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
Сообщение от omercury
|
rcall****OWResetldi********w1rdbuf,$CCrcall****OWW riteByteldi********w1rdbuf,$BErcall****OWWriteByte rcall****OWReadBytemov********Command_h,w1rdbufrca ll****OWReadBytemov********Command_l,w1rdbu
|
Смотрю и удивляюсь, не уж то все это работает?.
Помню, лет 10 назад, сначала младший байт температуры считывал, а затем старший. Мож изменили мелкосхему7
Что то я не понимаю в этом мире. Один пишет черт знает что. Другой берет это, считая это работающее. Но увы ... Это не работает.
Удивляется и .. просит найти ошибку ( а не кучу ошибок).
Ему в ответ третий,. вместо одного неработающего пишет свое неработающее.
Интересно чем это закончится?.
На возражение что Comand_h Вы подрузамевали temperature_low,
а Comand_l - это temperature_high
я буду смеяться !!!
|
|
|
|
27.01.2013, 20:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
Что то цитата не получилась
Я это имел ввиду
rcall OWReset
ldi w1rdbuf,$CC
rcall OWWriteByte
ldi w1rdbuf,$BE
rcall OWWriteByte
rcall OWReadByte
mov Command_h,w1rdbuf
rcall OWReadByte
mov Command_l,w1rdbuf
|
|
|
|
27.01.2013, 21:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
Сообщение от Boba_spb
|
Что то цитата не получилась
Я это имел ввиду
rcall OWReset
ldi w1rdbuf,$CC
rcall OWWriteByte
ldi w1rdbuf,$BE
rcall OWWriteByte
rcall OWReadByte
mov Command_h,w1rdbuf
rcall OWReadByte
mov Command_l,w1rdbuf
|
А, это.
Действительно наоборот.
Выдрал из проекта и "поправил" по-быстрому...
Сообщение от Boba_spb
|
Смотрю и удивляюсь, не уж то все это работает?.
|
Блин, как ни странно работает.
https://kazus.ru/forums/showpost.php...9&postcount=14
|
|
|
Сказали "Спасибо" omercury
|
|
|
27.01.2013, 21:20
|
|
Частый гость
Регистрация: 26.01.2013
Адрес: Новый Уренгой
Сообщений: 16
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
А там пару ret-ов закоментированых с ними что делать ?
Здесь
PHP код:
|
OWWriteEnd:
cbi w1Dir, w1
ldi w1del,6 ;60 микросекунд(60)
rcall Del_10 ;Ждём
; ret
dec w1cnt
brne OWWriteLoop
ret
|
И здесь
PHP код:
|
OWReadBitEnd:
; ret
dec w1cnt
brne OWReadLoop
ret
|
И еще несколько команд это что ли все очепятки ?
|
|
|
|
27.01.2013, 21:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
Нет, не опечатки.
Изначально в проекте было чтение/запись бита в виде подпрограммы, но, так как, всё было запихнуто в Attiny15 с трёхуровневым стеком от подпрограмм пришлось отказаться(что и к лучшему). Закомментированное можно спокойно удалять.
|
|
|
Сказали "Спасибо" omercury
|
|
|
27.01.2013, 21:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
Ну если наборот поправили, то может и работать.
А без наоборот потом еще будут долго выяснять чего это температура скачет и кажет совсем не то, пока не смекнут (если еще смекнут) что байты местами перепутаны.
Вот я и пытаюсь понять что заставляет исправлять ошибки ошибками.
|
|
|
|
27.01.2013, 21:53
|
|
Частый гость
Регистрация: 26.01.2013
Адрес: Новый Уренгой
Сообщений: 16
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
Я так понимаю надо сесть разок на недельку закрыться и написать самому код.
Потому как я уже больше времени потратил на разборы чужих.
1. С задержками все ясно datashit и delay loop generator рулят.
2. Инициализация тоже понятно Skip ROM, Start Conv, Read Scratchpad
3. А вот передача и прием пока не очень и с флагами не дружу.
|
|
|
|
27.01.2013, 22:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите найти ошибку AVR asm
Сообщение от sibiryak983
|
2. Инициализация тоже понятно Skip ROM, Start Conv, Read Scratchpad
|
Похоже не очень, вот последовательность.
Reset
Skip ROM
Convert T
Ожидание измерения температуры 750милисекунд
Reset
Skip ROM
Read Scratchpad
Чтение младшего байта значения температуры
Чтение старшего байта значения температуры
Последний раз редактировалось omercury; 27.01.2013 в 22:35.
Причина: Добавил картинку.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:09.
|
|