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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> SPI master 4-wire
Fenriz
сообщение Mar 30 2006, 06:12
Сообщение #31


Участник
*

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



Уважаемый resident, пытаюсь отладить программу, но пока безуспешно. МК инициализируется успешно - проверил состояние регистров после прошивки всё соответствует. У меня складывается впечатление, что после выполнения функции обработки прерывания, МК не возвращается к выполнению прерваной операций в main. Можно ли это сделать по средствам команды (или это автоматический процесс)?
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 30 2006, 10:21
Сообщение #32


Гуру
******

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



Во-первых, проверьте что вы выключаете WDTimer.
Во-вторых, обозначьте в своей программе ВСЕ вектора прерываний, даже те которые вы не используете. Пускай там даже только по одной команде _NOP(); будет. Зато у вас будет возможность выяснить не улетает ли программа на какой-то неиспользуемый вектор.
Go to the top of the page
 
+Quote Post
:OveR:
сообщение Apr 4 2006, 12:13
Сообщение #33





Группа: Новичок
Сообщений: 10
Регистрация: 26-02-06
Из: Россия, Москва
Пользователь №: 14 695



Можно попытаться определить, где висит программа. Например так (независимо, на С написано или на asm).

; тело программы
MAIN
команда_1
...
команда_101 <-- тут breakpoint
...
идти_на_MAIN

; тело обработчика прерывания UART0RX
UART0_RX
команда_1
...
какой-то_цикл
команда_51
...
команда_101 <-- и тут breakpoint
выход_из_прерывания

Запустить это дело, подождать некоторое время и прервать работу (или же работа сама прервется по bp).
Возможны варианты. Основное тело программы (main) не выполняется.. Программа уходит в прерывание, выходит из него и сразу же снова входит. Или же, если в обработчике прерывания есть некий цикл, то возможно зависание внутри него, т.е. не происходит даже выхода из прерывания.
Кстати, очень помогает в некоторых точках программы "дергание" определенной ножкой процессора (простой xor). На осциллографе удобно можно смотреть процесс (не)работы программы biggrin.gif


--------------------
// OveR
Go to the top of the page
 
+Quote Post
Fenriz
сообщение May 7 2006, 08:22
Сообщение #34


Участник
*

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



Уважаемый resident, по поводу векторов прерывания вы были правы. В тексте программы было разрешено прерывание, функция обработки которого не была определена - как следствие reset vector и контроллер вставал на месте. Ошибку исправил - устройство работает нормально.

У меня есть вопрос:
По документации к MSP430x4xx следует, что SPI делает сдвиг (передачу) байта данных, начиная со старшего бита (MSB) и принимает подобным же образом. Можно ли организовать приём на SPI начиная с младшего бита (LSB) - (битреверсию)???????????
Go to the top of the page
 
+Quote Post
CAHTA_1939
сообщение Nov 5 2007, 23:47
Сообщение #35


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

Группа: Участник
Сообщений: 142
Регистрация: 11-08-07
Пользователь №: 29 713



всем доброй ночи =)

у меня есть 2шт msp430f1611 соединенные между собой через SPI , и к этомуже SPI подключена память at25f2048... у этой память есть пин CS, т.е. проблемы пнуть микруху, чтоб она поняла что данные для нее, нет. но вот как поступить со вторым 1611 ? если один пин у нее отвести для CS и при вызове прерывания проверять его состояние, то это будет не зер гуд!

подскажите, как лучьше поступить?
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 6 2007, 19:26
Сообщение #36


Гуру
******

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



Цитата(CAHTA_1939 @ Nov 6 2007, 04:47) *
подскажите, как лучьше поступить?

Без фреймовой синхронизации использовать SPI не разумно. Тем более, когда на этом же интерфейсе "висит" еще одно устройство.
Go to the top of the page
 
+Quote Post

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

 


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


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