Ищи ответ ТУТ:
http://radiokot.ru/forum/viewtopic.php?f=62&t=35768
ARM микроконтроллеры 32-ух битные.Бубоник писал(а):Ну так темы основной нет по 8-кам вот и пишу сюда т.к. 8-ки в этом разделе есть.
17.3.3 Prescaler
The prescaler value is loaded through a preload register. The shadow register, which
contains the current value to be used, is loaded as soon as the LS byte has been written.
To update the 16-bit prescaler, load two bytes in separate write operations starting with the
MSB. Do not use the LDW instruction for this purpose as it writes the LSB first.
The new prescaler value is taken into account in the following period (after the next counter
update event).
Да не обязан Вам никто отвечать. А если Вы жд кассе спросите расписание самолетов, тоже значит что кассир обязан ответить?Бубоник писал(а):Да не там написал свой вопрос, но это же не значит что на него отвечать не надо. К тому же модераторам форума виднее где писать, а где нет.
Как Вы это представляете на 8ми битной шине?Бубоник писал(а): раз в документации указанно что TIM1_PSCR содержит 16 битное значение значит должен принимать 16 битные числа.
Как Вы это представляете на 8ми битной шине?[/uquote]Бубоник писал(а): раз в документации указанно что TIM1_PSCR содержит 16 битное значение значит должен принимать 16 битные числа.
Да, там шин не одна, я правда давно про них читал. Хотя для программиста как бы единое адресное пространство.JackSmith писал(а):не все так однозначно
Эти команды работают с регистровыми парами, то есть со сверхОЗУ. Пример неудачен. А конвеер тут совсем не причем.JackSmith писал(а):CLRW, INCW. DECW например выполняются за один цикл.
ну понятно.JackSmith писал(а):CLRW, INCW. DECW например выполняются за один цикл.Эти команды работают с регистровыми парами, то есть со сверхОЗУ. Пример неудачен.
Как Вы это представляете на 8ми битной шине?[/uquote]Бубоник писал(а): раз в документации указанно что TIM1_PSCR содержит 16 битное значение значит должен принимать 16 битные числа.
У меня нет никаких претензий к системе команд STM8, не надо придумывать чего я не говорил ( и не думал тоже). Хотя ассемблер мне не нравится, какой-то он не такой. Но это дело привычки скорее всего и темы не касается.JackSmith писал(а):в чем суть ваших претензий к LDW?
Вопрос ТС шел про 16 битные регистры имеющие теневой регистр. На хрена надо было бы вводить теневой регистр, если бы команды умели писать 16 бит данных одновременно?JackSmith писал(а): или вы считаете что она не сможет загрузить 16-число в регистр I/O?
Код: Выделить всё
static volatile unsigned short temp;
*((unsigned short *)&TIM1_PSCRH)=0x1234;
temp=*((unsigned short *)&TIM1_PSCRH);
PB_DDR=MASK_PB_DDR_DDR5; //PB5 выход
if (temp==0x1234) PB_ODR=MASK_PB_ODR_ODR5;//выключим светодиод
while(1);Код: Выделить всё
LDW X, #0x1234
LDW TIM1_PSCRH, XКод: Выделить всё
TIM1_CNTRH=1;
TIM1_CNTRL=2;Ну не по теме Вы как раз и начали. И в чем же бяка, что я написал, что никто не обязан Вам отвечать?Бубоник писал(а):Бяку какую нибудь не по теме написать ОБЯЗАТЕЛЬНО кто нибудь найдется даже просить не надо.
На дверях написано ARM.Бубоник писал(а):Если на дверях будет вывеска про расписание самолетов естественно спрошу, почему бы и нет.
Зачем Вам ассм чтобы побайтно присвоить значение в регистр? Если хочется в одну строку - сделайте макрос.Бубоник писал(а):Естественно я это и имел ввиду, знал бы как на нем ассемблер пишется написал на нем
А так и должно быть. Непонятно почему у меня приведенный код работает.Бубоник писал(а):Кстати если даже записать значения только в старший регистр TIM1_CNTRH то эффекта на контроллере не происходит пока не запишиться младший регистр TIM1_CNTRL
На какой? Раздел форума ARM. Тов. BOB51 указал Вам где про STM8 разговаривают.Бубоник писал(а):А на вывеске список стм 8-ых.
Система команд STM8 заточена по Си. Если Вы хотите более оптимизированный код, изучайте асм. Но на банальных операциях вряд ли получится короче, чем на Си.Бубоник писал(а):Более оптимизированный код нужен.