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

 
 
> побайтный доступ к регистрам периферии, он есть или нет?
jorikdima
сообщение Jan 4 2010, 10:13
Сообщение #1


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Здравствуйте.
Работаю с msp430f5418. Там куча периферии всякой и вот я споткнулся на ровном месте. Возьмем к примеру Таймер А, у которого есть такой регистр TA0CTL расположенный по адресу 0x340. Он 16 разрядный, но в UG сказано про все регистры Таймера да и не только:
Цитата
NOTE: All registers have word or byte register access. For a generic register ANYREG, the suffix
"_L" (ANYREG_L) refers to the lower byte of the register (bits 0 through 7). The suffix "_H"
(ANYREG_H) refers to the upper byte of the register (bits 8 through 15).

То есть насколько я понимаю, можно обратиться побайтно к старшей части слова TA0CTL, то есть по адресу 0x341.
Сделав такой код
Код
//UINT8* p = (UINT8*)0x341;
    //*p = 0x1;

то есть попытку записать 1 в младший бит старшего байта, компилятор сделал вполне валидную команду
Код
mov.b #1, &0x341

Но исполнение этой команды привело к записи единицы в младший бит младшего байта регистра. Почему? Тоже самое с регистрами DMA. А вот если в обычную RAM писать ровно такими же командами, то все хорошо.
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SanvaldYV
сообщение Jan 11 2010, 07:44
Сообщение #2


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

Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371



Цитата(jorikdima @ Jan 4 2010, 13:54) *
Вообще с 5418 я тут так пляшу сейчас... какие то непонятные вещи он творит вообще.


А если не секрет, с чем именно возникли сложности? Я тоже с 5418 работал, использовал только таймера, АЦП (без ДМА), УАРТ и еще во флэш писал (как в инфо-мемори так и в другие сектора), все работало в адекватно и в соответствии с мануалом. А у Вас с какой периферией трудности?
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Jan 11 2010, 08:03
Сообщение #3


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Юрий Санвальд @ Jan 11 2010, 10:44) *
А если не секрет, с чем именно возникли сложности? Я тоже с 5418 работал, использовал только таймера, АЦП (без ДМА), УАРТ и еще во флэш писал (как в инфо-мемори так и в другие сектора), все работало в адекватно и в соответствии с мануалом. А у Вас с какой периферией трудности?

Да в общем ляпнул не поделу smile.gif На вышеупомянутой проблемме все и ограничилось. Сейчас в поддержку ТИ пишу, о результатах сообщу.
Все сложности были по моей причине (прерывание приходило, котороя я не ждал smile.gif ) и по причине наличия ассемблерного модуля софтового RTC (из древних примеров ТИ), которые надо тоже портировать на MSP430X, а я этого не сделал.
В общем софт свой портировал - вроде живет (UART, SPI, DMA, ADC12, TimerA, WDT, MPY).
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 01:20
Рейтинг@Mail.ru


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