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

 
 
> 16 BIT -> 2 * 8 BIT, не получаеться взять побайтовый результат из АЦП
pfg
сообщение Apr 7 2008, 13:05
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 8-02-07
Пользователь №: 25 175



пишу полд ИАРом
Вот кусочек кода с дизасмеблером

unsigned char bb, cc, dd, ee;

ADC12MEM0 = 0x0456;
008130 40B2 0456 0140 mov.w #0x0456,&ADC12MEM0

bb = *((unsigned char*)0x140);
008136 42D2 0140 0200 mov.b &ADC12MEM0,&bb

cc = *((unsigned char*)0x141);
00813C 425C 0141 mov.b &0x141,R12
008140 4CC2 0201 mov.b R12,&cc

dd = ( (unsigned char*) & ADC12MEM0) [1];
008144 42D2 0141 0202 mov.b &0x141,&dd

ee = ( (unsigned char *) ADC12MEM0_) [1];
00814A 42D2 0141 0203 mov.b &0x141,&ee

В програмной эмуляции
происходит желаемое

в bb младший байт
в сс dd ee старший байт.

за пускаю на железе
во все (bb cc dd ee) пишет младший байт
Почему даже понять не могу
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
pfg
сообщение Apr 8 2008, 07:16
Сообщение #2





Группа: Участник
Сообщений: 5
Регистрация: 8-02-07
Пользователь №: 25 175



спсибо за разьяснение структуры, именно это и не укладывалось в башке.
правда указанный пример все равно не работает smile.gif

ADC12MEM0 = 0x0956;
008120 40B2 0956 0140 mov.w #0x956,&ADC12MEM0

dd =(unsigned char)(ADC12MEM0);
008126 421E 0140 mov.w &ADC12MEM0,R14
00812A 4EC2 0204 mov.b R14,&dd

ee =(unsigned char)(ADC12MEM0>>8);
00812E 93C2 0140 tst.b &ADC12MEM0
008132 42D2 0141 0205 mov.b &0x141,&ee

опять пытаеться обратиться по "сдвинутому" адресу
сделал без извращений

aa = ADC12MEM0 ;
008138 4292 0140 0200 mov.w &ADC12MEM0,&aa

bb =(unsigned char)(aa);
00813E 42D2 0200 0202 mov.b &aa,&bb

cc =(unsigned char)(aa>>8);
008144 42D2 0201 0203 mov.b &0x201,&cc
smile3046.gif
Go to the top of the page
 
+Quote Post



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

 


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


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