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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Обработка "своих" команд
d7d1cd
сообщение Mar 23 2012, 02:57
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



rezident, спасибо большое за наставление на путь истинный! Теперь все правильно: по адресу 0x1200 начинаются инструкции процессора.
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Mar 24 2012, 06:13
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Просветите меня по вопросу прерываний. Возьмем, для примера, прерывания по USART. Тут существует 2 вида прерываний - прерывание на прием и прерывание на отправку. Прерывание на прием, как я понимаю, срабатывает при поступлении байтов по USART. Зачем нужно прерывание на отправку и когда оно срабатывает?
Go to the top of the page
 
+Quote Post
Ramil
сообщение Mar 25 2012, 08:15
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 5-08-04
Пользователь №: 452




Прерывание на отправку нужно для того чтобы дождаться окончания отправки предыдущего загруженного в TXBUF байта. После того как байт "ушёл" выставляется флаг UTXIFG. По которому и возникает прерывание, если общие прерывания разрешены.
Go to the top of the page
 
+Quote Post
hash20
сообщение Mar 26 2012, 14:59
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 24-01-12
Пользователь №: 69 858



А ещё например в режиме SPI: при системе контроллер(мастер) - устройство(слэйв) врят-ли вы когда нибудь дождетесь прерывания по приему sm.gif)) поэтому для того чо-бы считать байт даных со слейва мы опраляем на него 0xff или 0x00 (обычно в даташите на слэйв устройство этот момент описывают) и соответвственно при прерывнии по TX в RXBUF будем наблюдать считанный из слэйва байт.
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Mar 27 2012, 02:39
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Цитата(hash20 @ Mar 26 2012, 18:59) *
А ещё например в режиме SPI: при системе контроллер(мастер) - устройство(слэйв) врят-ли вы когда нибудь дождетесь прерывания по приему sm.gif)) поэтому для того чо-бы считать байт даных со слейва мы опраляем на него 0xff или 0x00 (обычно в даташите на слэйв устройство этот момент описывают) и соответвственно при прерывнии по TX в RXBUF будем наблюдать считанный из слэйва байт.


А что значит 0x00 или 0xff? Это адрес запрашиваемого в слейве байта?
Go to the top of the page
 
+Quote Post
hash20
сообщение Mar 28 2012, 10:27
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 24-01-12
Пользователь №: 69 858



Цитата(d7d1cd @ Mar 27 2012, 06:39) *
А что значит 0x00 или 0xff? Это адрес запрашиваемого в слейве байта?


Записью байта в TXBUF ты запускаеш сдвиговый регистр, и выдачу 8-ми синхроимпульсов так вот слэйву будет похер какие данные ему приходят (!есть правда и хитрожопые SPI девайсы!) если он хочет что-либо выдать, ему нужны эти эти самые 8 синхроимпульсов блягодаря которым он запихнет в твой RXBUF свой байт! А адрес слейву перед этим выдается...

Таким образом при работе с 2-мя слэйвами вполне реально организовать одновременно вычитку одного слейва и запись другого !!! Главное эхо в настройках SPI модуля не включать sm.gif)))
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 18:44
Рейтинг@Mail.ru


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