Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
23.04.2011, 22:58
|
|
Заблокирован
Регистрация: 03.12.2008
Сообщений: 112
Сказал спасибо: 11
Сказали Спасибо 22 раз(а) в 22 сообщении(ях)
|
Нужен пример работы с USART AVR
Помогите! Может у кого есть пример исходника на assembler для avr.
Нужно передать строку символов по USART.
Как передать один символ я нашёл, а вот с строкой запара. С наскоку не получается.
|
|
|
|
23.04.2011, 23:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.10.2010
Сообщений: 1,752
Сказал спасибо: 158
Сказали Спасибо 640 раз(а) в 364 сообщении(ях)
|
Re: Нужен пример работы с USART AVR
Сообщение от rocky7
|
Помогите! Может у кого есть пример исходника на assembler для avr.
Нужно передать строку символов по USART.
Как передать один символ я нашёл, а вот с строкой запара. С наскоку не получается.
|
Ловите. От сердца отрываю.
Выводимая строка нуль-терминированная.
Код:
|
;настройка регистровой пары Z на начало буфера с выводимыми символами
;в данном случае выводимые символы располагаются во флэш-памяти
ldi ZL, low(testload_data*2)
ldi ZH, high(testload_data*2)
rcall OutTextFlash
OutTextFlash:
lpm
mov u_transmit, r0 ;Put data in transmit register
or r0, r0
breq OTF_Exit
rcall uart_transmit ;And transmit it
adiw ZL, 1
rjmp OutTextFlash
OTF_Exit:
ret
;подпрограмма передачи символа
;передаваемый символ в регистре u_transmit
uart_transmit:
ret |
Последний раз редактировалось Ar-Gen-Tum; 23.04.2011 в 23:22.
|
|
|
|
24.04.2011, 14:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
|
Re: Нужен пример работы с USART AVR
rocky7,
а к какой вы религии принадлежите?
прерывания используйте, сам бог велел, буфер организуйте в озу, объявите длину буфера/сообщения. используйте счетчик длины буфера/сообщения, который декрементируйте в прерывании. можете передавать по флагу опустошения буфера передатчика (поллинг).
такой же принцип при приеме
|
|
|
|
24.04.2011, 15:38
|
|
Прописка
Регистрация: 01.02.2006
Адрес: in der Naehe der Ostsee
Сообщений: 161
Сказал спасибо: 60
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Нужен пример работы с USART AVR
Сообщение от jump
|
прерывания используйте, сам бог велел, буфер организуйте в озу, объявите длину буфера/сообщения. используйте счетчик длины буфера/сообщения, который декрементируйте в прерывании. можете передавать по флагу опустошения буфера передатчика (поллинг)
|
это для опытных слова. для имеющих небольшой опыт они ничего не означают. зачем пургу нести не там где нужно?
|
|
|
|
24.04.2011, 16:12
|
|
Заблокирован
Регистрация: 03.12.2008
Сообщений: 112
Сказал спасибо: 11
Сказали Спасибо 22 раз(а) в 22 сообщении(ях)
|
Re: Нужен пример работы с USART AVR
Сообщение от jump
|
rocky7,
а к какой вы религии принадлежите?
|
Русская православная церковь.
|
|
|
|
24.04.2011, 18:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
|
Re: Нужен пример работы с USART AVR
Daddy_Karlo,
пришел, нафлудил и не смыл?
я даю пинки в нужном направлении, а пинаемый либо летит, выполняя мои команды, либо, цепляясь за кусты, падает в пропасть. другого не дано... мной
и гугл помогает страждущим
rocky7,
эт я о том, что передавать блок данных через сом-порт можно по прерыванию, чего вы не делаете из каких-то соображений. где споткнулись?
нарисуйте алгоритм, попробуйте в студии - постепенно научитесь.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:20.
|
|