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

 
 
 
Reply to this topicStart new topic
> использование прерываний в MSP430, прерывания
chainikru
сообщение Dec 18 2011, 18:58
Сообщение #1


Участник
*

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



Разработать программу приема одного байта последовательного кода, поступающего на вход INT0 в формате, старт бит, 8 бит данных(младшие биты впереди), стоп бит. Длительность одного бита 250 мкс. Прием байта осуществлять используя прерывания таймера. Принятый байт занести в ячейку с именем BYTE_IN
Подскажите пожалуйста как написать это на С++
Go to the top of the page
 
+Quote Post
oll
сообщение Dec 19 2011, 03:51
Сообщение #2


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

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



Цитата(chainikru @ Dec 18 2011, 23:58) *
Разработать программу приема одного байта...

может это поможет: http://www.msp430launchpad.com/2010/08/hal...-launchpad.html

Сообщение отредактировал oll - Dec 19 2011, 03:51
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 19 2011, 10:33
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



chainikru, а вы уже ознакомились с периферией MSP430? Если да, то поясните вашему преподавателю, что не имеет смысла тупо переносить задание, придуманное пару десятков лет назад для МК 51й серии, на другие МК. Потому, что у "других" МК имеется соответственно другая (более продвинутая) периферия.
Если уж так приспичило реализовывать UART на прерываниях от пинов, то поясните, что функционал пинов INT0, INT1 в 51м МК несколько отличается от функционала прерываний пинов портов P1 и P2 в MSP430.
А если рассуждать дальше, то во всех MSP430 имеется TimerA, для которого уже давно придумано использование его функционала для приема/передачи данных аля UART. См. Implementing a UART Function with Timer_A3 (Rev. A). Более того, встроенная в MSP430 программа Bootloader-а (BSL) использует именно TimerA, чтобы реализовать UART и с его помощью организовать связь для загрузки firmware в кристалл. См. MSP430 Programming Via the Bootstrap Loader (BSL) (Rev. A) (+ исходники)
Go to the top of the page
 
+Quote Post
chainikru
сообщение Dec 19 2011, 14:28
Сообщение #4


Участник
*

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



Я то конечно поговорю но думаю что разговор закончится только перефрфзировкой задания:
Разработать программу приема одного байта последовательного кода, поступающего на вход P1 в формате, старт бит, 8 бит данных(младшие биты впереди), стоп бит. Длительность одного бита 250 мкс. Прием байта осуществлять используя прерывания таймера. Принятый байт занести в ячейку с именем BYTE_IN (или в другую)
MSP430 дали на самостоятельное изучение.Спасибо за сылки, но т.к. я не относился с должным вниманием к английскому, то прочтение и осмысление займет некоторое время, а поэтому я прошу дать советы при использовании TimerA. P.S. Я сначала хотел использовать сторожевой таймер.


т. к я писал на ассемблере для MCS51й серии у меня есть Р-схемы для задания.Существенно ли они будут отличаться для программы на c++ для MSP430
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение



Сообщение отредактировал chainikru - Dec 19 2011, 14:29
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 19 2011, 15:54
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Ну раз с документацией вы не соблаговолили заранее ознакомиться, то что-либо пояснять прямо сейчас я считаю излишним sad.gif Изучайте вначале User's Guide. Их можно найти и в переводе на русской язык.
Хотя сразу могу дать один совет. Для вашей задачи не следует использовать WDT. Потому, что с его помощью нельзя задавать произвольные интервалы времени. Выбор интервалов очень сильно ограничен малым набором предделителей WDT. В то время как с помощью установок TimerA можно отсчитывать интервалы времени в очень широких пределах.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 14:43
Рейтинг@Mail.ru


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