Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

STM8(S/L), первые впечатления

Непрочитано 29.11.2010, 13:16  
kittec
Гражданин KAZUS.RUN
 
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
kittec на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Добрый день уважаемые.
Я только начинаю изучать ARM, но только STM32. Я думаю, что у STM32 и STM8 есть общие моменты, несмотря на то , что одна 8 а другая 32 битная, и поэтому я хочу спросить о переключениях битов портов УВВ.
Изучая литературу по STM32 прочитал вот это:
PB8 = 1; //включаем светодиод
После компиляции будут сгенерированы следующие ассемблерные инструкции:
MOVS r0,#0x01
LDR r1,[pc,#104]
STR r0,[r1,#0x00]
Для отключения светодиода используем строку:PB8 = 0; // отключаем светодиод
Ей соответствуют следующие ассемблерные инструкции:
MOVS r0,#0x00
LDR r1,[pc,#88]
STR r0,[r1,#0x00]

Значит ли это, что одной асм команды , как у AVR ( CBI и SBI ) нет?

P.S. Можно в этой теме задавать вопросы по STM32, или создавать новую тему?.
Если новую, то хотелось бы и вашего участия .
Реклама:
kittec вне форума  
Непрочитано 29.11.2010, 13:19  
EugVor
Временная регистрация
 
Регистрация: 15.03.2006
Сообщений: 79
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
Гы ... Он и при этом ту же гадость пихает...
LED^=1; // Так надо писать.
Хоть и через аккумулятор но вменяемый код. В одну команду начиная с IAR 1.2, как тут кто-то уже говорил.

Как много откровений чудных...

Последний раз редактировалось EugVor; 29.11.2010 в 13:58.
EugVor вне форума  
Непрочитано 29.11.2010, 13:20  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
Использовать Cosmic
Ну это то понятно .
Как раз и лицензия пришла...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 29.11.2010, 13:24  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от dosikus Посмотреть сообщение
Как раз и лицензия пришла...
На 16К или на 32К? Мне на 32К так и не пришла.

Сообщение от kittec Посмотреть сообщение
P.S. Можно в этой теме задавать вопросы по STM32, или создавать новую тему?.
STM32 - ARM. Тут уже и так полно тем по АРМ
https://kazus.run/forums/showthread.php?t=14719
https://kazus.run/forums/showthread.php?t=20914
и т.д.
kison вне форума  
Непрочитано 29.11.2010, 13:31  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от EugVor Посмотреть сообщение
Хоть и через аккумулятор но вменяемый код.
Нет, у dosikus реально лучше вышло. Его вариант атомарный, Ваш - нет. И хоть Ваш на команду короче, но потребует критической секции в некоторых случаях.
kison вне форума  
Непрочитано 29.11.2010, 13:46  
EugVor
Временная регистрация
 
Регистрация: 15.03.2006
Сообщений: 79
Сказал спасибо: 3
Сказали Спасибо 83 раз(а) в 11 сообщении(ях)
EugVor на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Дело в том, что у меня с битовой инверсией в листинге вообще какой-то ливер на 14 строк.
EugVor вне форума  
Непрочитано 29.11.2010, 13:53  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Сообщение от kison Посмотреть сообщение
На 16К или на 32К? Мне на 32К так и не пришла.
Кинь в личку мыло , у него похоже привязки ни к чему нет.

По kison'у вообще все прелестно выходит :

PHP код:
main.c:24          DDRB2 = 1; 
0x80dd BSET  _PB_DDR,#2 
main.c:25        DDRB1 = 1; 
0x80e1 BSET  _PB_DDR,#1 
main.c:26            PB_CR1=0XFF; 
0x80e5 MOV   _PB_CR1,#0xff 
main.c:29            delay(); 
0x80e9 CALLR delay 
main.c:31             PORTB1=~PORTB1; 
0x80eb BCPL  _PB_ODR,#1 
main.c:33              delay(); 
0x80ef CALLR delay 
main.c:35                PORTB2=~PORTB2; 
0x80f1 BCPL  _PB_ODR,#2 
0x80f5 JRT   0x80e9 
rupt_vector.c:17        return; 
0x80f7 IRET 
В IAR охренительно :

Код:
  30            while(1)
     31            {
     32              LED=~LED;   //Переключим светодиод
   \                     ??main_1:
   \   000028 C6500F                LD        A, L:0x500f
   \   00002B 43                    CPL       A
   \   00002C 44                    SRL       A
   \   00002D 9011500F              BCCM      L:0x500f, #0x0
     33              LED5=~LED5;
   \   000031 C6500F                LD        A, L:0x500f
   \   000034 43                    CPL       A
   \   000035 CD0000                CALL      L:?srl8_a_a_5
   \   000038 44                    SRL       A
   \   000039 901B500F              BCCM      L:0x500f, #0x5
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 29.11.2010 в 14:07.
dosikus вне форума  
Непрочитано 29.11.2010, 14:04  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от dosikus Посмотреть сообщение
у него похоже привязки ни к чему нет.
Да мне пока 16К хватает. Просто интересно почему всем приходит, а мне фиг...
А чужая лицензия = кряку. Кряк то на Космик и так в сети есть.
kison вне форума  
Непрочитано 29.11.2010, 14:06  
EugenyAM
Временная регистрация
 
Регистрация: 24.09.2010
Сообщений: 97
Сказал спасибо: 9
Сказали Спасибо 41 раз(а) в 31 сообщении(ях)
EugenyAM на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от kison Посмотреть сообщение
Посмотрел хидеры от IAR. Там все же не структуры с битовыми полями в памяти, а собственные конструкции типа __IO_REG8_BIT(PA_CR2,....
Это макрос и на выходе он дает юнион в котором есть собственно определение регистра PA_CR2, как указателя на область памяти и на его фоне структура с битовыми полями PA_CR2_bit
EugenyAM вне форума  
Непрочитано 29.11.2010, 14:08  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от EugenyAM Посмотреть сообщение
Это макрос и на выходе он дает юнион в котором есть собственно определение регистра PA_CR2, как указателя на область памяти
А тогда во что разворачивается параметр __READ_WRITE?
Вообще IAR-овцы смешной народ. Найдите отличия:
Код:
typedef struct
{
  unsigned char DDR0        : 1;
  unsigned char DDR1        : 1;
  unsigned char DDR2        : 1;
  unsigned char DDR3        : 1;
  unsigned char DDR4        : 1;
  unsigned char DDR5        : 1;
  unsigned char DDR6        : 1;
  unsigned char DDR7        : 1;
} __BITS_PA_DDR;

typedef struct
{
  unsigned char DDR0        : 1;
  unsigned char DDR1        : 1;
  unsigned char DDR2        : 1;
  unsigned char DDR3        : 1;
  unsigned char DDR4        : 1;
  unsigned char DDR5        : 1;
  unsigned char DDR6        : 1;
  unsigned char DDR7        : 1;
} __BITS_PB_DDR;

Последний раз редактировалось kison; 29.11.2010 в 14:11.
kison вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
KiCAD-объявления и впечатления al_dan KiCAD 32 03.10.2016 17:02
Народ, посмотрите quasm, Как ваши впечатления? suri Proteus, KiCAD и другие ECAD 5 14.10.2009 11:57


Часовой пояс GMT +4, время: 19:39.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.