29.11.2010, 11:44
|
#581
|
Временная регистрация
Регистрация: 15.03.2006
Сообщений: 80
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от Serega_B
|
Где в этой конструкции "высчитывание очередности"? (Это пример IAR_овской работы с портами). Дальше свернуть их в конструкции вида
|
Ясное дело, что его там нет, я к тому, что если понадобится узнать какие биты должны установиться чтобы проследить это, например в симуляторе.
Например, чтобы проследить, что сотворила такая запись:
UART2_CR3_STOP=2; // Bits 5:4= 10 два стоп-бита .
Нужно:
1. узнать сколько бит тут обрабатывается за раз, чтобы не записать лишенего.
2. как они называются и в каких они находятся позициях .
Для этого надо именно рассматривать содержимое структуры, благо комментарий есть в котором всё сказано. Я не говорю, что это всё конец света, просо не вижу глубокого смысла в применении структур.
|
|
|
|
29.11.2010, 11:51
|
#582
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от dosikus
|
То есть можно :
|
+1
Только ещё лучше
#define PC_ODR_ODR1=1 LED_ON //Включим светодиод
|
|
|
Сказали "Спасибо" SasaVitebsk
|
|
|
29.11.2010, 11:54
|
#583
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Сообщение от dosikus
|
Не компилится...
Как сделать ?
__________________
|
Туплю по мрачному...
PHP код:
|
#define LED PC_ODR_ODR1 ...... LED=1 LED=0
|
Сообщение от SasaVitebsk
|
Только ещё лучше
#define PC_ODR_ODR1=1 LED_ON //Включим светодиод
|
Не катит , там "конструкция" :
PHP код:
|
LED=~LED; //Переключим светодиод
|
__________________
Осторожно , злой кот
|
|
|
|
29.11.2010, 11:56
|
#584
|
Временная регистрация
Регистрация: 15.03.2006
Сообщений: 80
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
#define LED PD_ODR_bit.ODR0
LED=0; // Зажечь.
LED=1;// Потушить.
LED=~LED;// Изменить.
|
|
|
|
29.11.2010, 11:59
|
#585
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Мда ... Что то не так .
PHP код:
|
LED=~LED; //Переключим светодиод ??main_1: 0080A8 C6500F LD A, PD_ODR 0080AB 43 CPL A 0080AC 44 SRL A 0080AD 9011500F BCCM PD_ODR, #0 ............................
|
__________________
Осторожно , злой кот
|
|
|
|
29.11.2010, 12:04
|
#586
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от EugVor
|
#define LED PD_ODR_bit.ODR0
|
Те же яйца :
PHP код:
|
LED=~LED; //Переключим светодиод ??main_1: 0080A8 C6500F LD A, PD_ODR 0080AB 43 CPL A 0080AC 44 SRL A 0080AD 9011500F BCCM PD_ODR, #0 for(i=0;i‹200000;i++) //Подождем... 0080B1 5F CLRW X 0080B2 BF02 LDW ?b2, X 0080B4 BF00 LDW 0x00, X for(i=0;i‹200000;i++) //Подождем...
|
Как добиться BCPL ?
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 29.11.2010 в 12:07.
|
|
|
|
29.11.2010, 12:13
|
#587
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Уровень оптимизации High ничего не меняет?
|
|
|
|
29.11.2010, 12:19
|
#588
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от st_1
|
Уровень оптимизации High ничего не меняет?
|
То же самое. Выставил в High -› size .\
Гы ... Он и при этом ту же гадость пихает...
PHP код:
|
31 //LED=~LED; //Переключим светодиод
32 PD_ODR_bit.ODR0=~PD_ODR_bit.ODR0;
\ ??main_1:
\ 000028 C6500F LD A, L:0x500f
\ 00002B 43 CPL A
\ 00002C 44 SRL A
\ 00002D 9011500F BCCM L:0x500f, #0x0
|
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 29.11.2010 в 12:50.
|
|
|
|
29.11.2010, 13:16
|
#589
|
Временная регистрация
Регистрация: 15.03.2006
Сообщений: 80
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Мда... по листингу какой-то ливер получается.
Вот так:
гораздо симпатичнее выглядит:
Код:
|
39 LED^=1;
\ 000048 A601 LD A, #0x1
\ 00004A C8500F XOR A, L:0x500f
\ 00004D C7500F LD L:0x500f, A |
|
|
|
|
29.11.2010, 13:16
|
#590
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от dosikus
|
Гы ... Он и при этом ту же гадость пихает...
|
А если LED перенести на другой вывод, например PD_ODR_bit.ODR2 ?
Сообщение от dosikus
|
Как добиться BCPL ?
|
Использовать Cosmic
Посмотрел хидеры от IAR. Там все же не структуры с битовыми полями в памяти, а собственные конструкции типа __IO_REG8_BIT(PA_CR2,....
Видимо будет как с АВР - фиг с портами по указателям поработаешь.
Последний раз редактировалось kison; 29.11.2010 в 13:20.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:02.
|
|