|
LPC2294, Про регистры |
|
|
|
Feb 12 2007, 17:55
|
Группа: Новичок
Сообщений: 14
Регистрация: 11-01-07
Пользователь №: 24 336

|
Здравствуйте, господа! Такой вопрос: можно ли обращаться к 32-разрядным регистрам LPC22xx как к 4 отдельным байтам? Например, регистры Tx данных модуля CAN1, если задать массив по абсолютному адресу: unsigned char DataA[4] _at_ 0xE0044038;
то при дальнейшей записи в этот массив записывается только элемент DataA[0], то есть
DataA[0] = 0x11; DataA[1] = 0x22; DataA[2] = 0x33; DataA[3] = 0x44;
далее в регистре по адресу 0xE0044038 записывается только значение 0х11 или вообще "левое" значение. В Юзер Мануале на 2294 в разделе CAN ничего про это не сказано, а вот в разделе про VIC сказано, что к регистрам VIC можно обращаться только как к слову (нельзя читать или записывать 1 байт или 2 байта, то есть полуслово), это относиться и к регистрам CAN?
|
|
|
|
|
 |
Ответов
|
Feb 17 2007, 06:07
|
Группа: Новичок
Сообщений: 14
Регистрация: 11-01-07
Пользователь №: 24 336

|
Если вы в вопросе подразумевали - есть ли на шине другой приёмник-устройство на 125 кбит/с - то да, есть другое устройство и даже их два, и я их точно не забываю переконфигурировать на соответствущую скорость.
Насчёт массивов и регистров - конечно ручками оно правильнее, но поначалу я предполагал, что за меня это сделает компилятор. Вот у Микрочипа dsPIC 16 разряный, но с помощью компилятора позволяет обращаться отдельно к полуслову (1 байт) и даже применимо побитное обращение. Ну раз уж такая петрушка, то будем переучиваться.
|
|
|
|
|
Feb 19 2007, 05:57
|
Группа: Новичок
Сообщений: 14
Регистрация: 11-01-07
Пользователь №: 24 336

|
Цитата(zltigo @ Feb 17 2007, 12:52)  Ничего Вы не поняли  1. Компилятор это делает за Вас. 2. Память и периферия с точки зрения байтовых и битовых обращений есть две большие разницы и сваливать их в кучу  Давайте разберёмся вместе  . Я хотел сказать, что модуль CAN в dsPICах 16-разрядный, но тем не менее там есть возможность обратиться к регистрам модуля CAN как к полуслову, так и побитно (это периферия, а не память). А у LPC надо делать по-другому. А если я чего не понял, ну объясните, пожалуйста, чего я недопонимаю?
Сообщение отредактировал Kaiser - Feb 19 2007, 05:59
|
|
|
|
Сообщений в этой теме
Kaiser LPC2294 Feb 12 2007, 17:55 zltigo Естественно нет. Feb 13 2007, 00:49 Kaiser Блин, круто, но пожалуйста поподробнее, что вы име... Feb 13 2007, 17:51 zltigo Цитата(Kaiser @ Feb 13 2007, 16:51) Блин,... Feb 13 2007, 21:36 Alex03 ЦитатаCAN CONTROLLERS
Each CAN Controller has a re... Feb 14 2007, 08:09 _basile Цитата(Alex03 @ Feb 14 2007, 08:09) Цитат... Feb 14 2007, 08:42 Kaiser Спасибо всем откликнувшимся, особенно про "же... Feb 15 2007, 07:07 Andy Mozzhevilov Цитата(Kaiser @ Feb 15 2007, 09:07) Ещё о... Feb 15 2007, 07:28  Kaiser Цитата(Andy Mozzhevilov @ Feb 15 2007, 09... Feb 16 2007, 05:46   Andy Mozzhevilov Цитата(Kaiser @ Feb 16 2007, 07:46) Цитат... Feb 16 2007, 06:32   zltigo Цитата(Kaiser @ Feb 16 2007, 04:46) Но у ... Feb 16 2007, 10:32 gladov Цитата(Kaiser @ Feb 15 2007, 07:07) Спаси... Feb 15 2007, 10:27 GetSmart ЦитатаОгород не нужен:
C1TDA1 = *(unsigned int *)... Feb 15 2007, 18:22   zltigo Цитата(Kaiser @ Feb 19 2007, 04:57) А есл... Feb 19 2007, 10:28    Kaiser Цитата(zltigo @ Feb 19 2007, 12:28) Всуе ... Feb 19 2007, 18:33     Andy Mozzhevilov Цитата(Kaiser @ Feb 19 2007, 20:33) Под ... Feb 20 2007, 07:36      Kaiser Цитата(Andy Mozzhevilov @ Feb 20 2007, 09... Feb 20 2007, 17:50       Andy Mozzhevilov Цитата(Kaiser @ Feb 20 2007, 19:50) Цитат... Feb 21 2007, 06:46 Andy Mozzhevilov Цитата(Kaiser @ Feb 17 2007, 08:07) Если ... Feb 19 2007, 08:31 Kaiser Отчёт.
Насчёт регистров, попробовал как посоветова... Feb 21 2007, 20:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|