|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:39 am
|
Страница 1 от 1
|
[ 6 мнения ] |
|
Аддрессиране на памет през 2 порта
| Автор |
Съобщение |
|
mk912
Ранг: Новодошъл
Регистриран на: Съб Сеп 15, 2007 11:24 pm Мнения: 109
|
 Аддрессиране на памет през 2 порта
Имам следното питане: Как да изразя на С30 2-та младши байта от адрес да се
пуснат на ПОРТД 0-15 и треитя байт на ПОРТБ 8-15 - много рових в нета ама не
можах да конкретизирам стринга за търсене...Идват ми идеи за преместване
например ама не може да няма по елегантен начин.
|
| Пет Фев 01, 2008 11:04 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
[code]
*((char*)&LATB+1) = 0xA5;
*((char*)&LATB+0) = 0x5A;
[/code]
_________________ main[-1u]={1};
|
| Нед Фев 03, 2008 12:13 am |
|
 |
|
mk912
Ранг: Новодошъл
Регистриран на: Съб Сеп 15, 2007 11:24 pm Мнения: 109
|
Мерси за идеята, а какво трябва да прочета за да ми станат ясни 2-та реда?
|
| Нед Фев 03, 2008 8:01 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
аз малко трудно ти хващам заданието
искаш някакво 3 байтово число ( LONG? struct? ) да го метнеш на порт бе и де ли
_________________ main[-1u]={1};
|
| Нед Фев 03, 2008 8:41 pm |
|
 |
|
mk912
Ранг: Новодошъл
Регистриран на: Съб Сеп 15, 2007 11:24 pm Мнения: 109
|
Точно така - имам лонг инт (адрес на външна памет) който трябва да метна на ПОРТД 0-15 и
третия байт на ПОРТБ 8-15. За сега го правя така: ПОРТД=адрес и ПОРТБ=адрес>>8 - в дебъг
се държи коректно ама знам ли
|
| Нед Фев 03, 2008 8:56 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
union {
unsigned long UL;
struct {
unsigned short Lo;
unsigned short Hi;
}WVal;
struct {
unsigned char B[4];
}BVal;
}ADR;
int main(int argc, char * argv[]){
ADR.UL = 0x87654321;
LATB = ADR.WVal.Lo;
*((char*)&LATD+1) = ADR.BVal.B[2];
обърни си там LATB и D
_________________ main[-1u]={1};
|
| Нед Фев 03, 2008 9:12 pm |
|
|
|
Страница 1 от 1
|
[ 6 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|