Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
ARM, Cortex, STM32 Быстрые и медленные порты. Даташит говорит что у STM8 ноги бывают быстрые (до 10MHz) и медленные (до 2MHz). Решил проверить в железе чем они отличаются. Написал такой код: int main( void ) { CLK_CKDIVR = 0; // Предделитель равен нулю PA_DDR_DDR1 = 1; PA_CR1_C11 = 1; PA_CR2_C21 = 1; https://www.cyberforum.ru/ arm/ thread2089310.html BMP085 и STM8L ARM, Cortex, STM32
Доброго времени суток. Пытаюсь разобраться, как подружить STM8L и BMP085, нашел API для датчика тут: http://www.bossh-simsortec.com/content/ ... l/3477.htm Не могу разобраться, как нужно настроить I2C для работы с API. Работой с микропроцессорами раньше не занимался, поэтому жутко туплю. Может быть у кого-то есть пример работы STM8L и bmp085 с использованием этого API. Или, быть может кто...
ARM, Cortex, STM32 STM8 и внешняя память Всем привет. Собственно, насмотревшись на http://www.jcwolfram.de/projekte/avr/chipbasic32/main.php вот эту поделку немецкой инженерной мысли, вспомнив свой спектрум, пустив слезу, захотелось сделать себе что то подобное. Использовать AVR не хочется, потому что архитектура, как по моему не подходит (ну это личное мнение моё, чтож поделаешь). Хочется чего то более классического, с общей памятью... https://www.cyberforum.ru/ arm/ thread2089308.html ARM, Cortex, STM32 stm8 и АЛС318 https://www.cyberforum.ru/ arm/ thread2089307.html
Всем доброго времени суток. Я на форуме новичок, хотя и давно его читаю. Возник следующий вопрос: подключил к отладочной плате stm8l-discovery 7-сегментый 9-ти разрядный индикатор типа АЛС318. Обычно, как я понимаю стараются подключать все 8 сегментов на один порт, тогда управление намного проще. А как быть, когда сегменты подключены к разным портам? Проблема не в написании самой программы (она...
ARM, Cortex, STM32 STM8L и Timer2
Играюсь с STM8L-Dyscovery. Написал простенькую программку секундомера на встроенном ЖК, все работает, кроме TIM2. Точнее если сделать ресет, то все нормально работает. Но при подаче питания, второй таймер не запускается. Таймер 1 работает, RTC работает, драйвер ЖК тоже работает, а вот второй таймер работает только после ресета. Вот его инициализация: // Timer 2, F=5Hz //...
ARM, Cortex, STM32 задержки на таймере https://www.cyberforum.ru/ arm/ thread2089305.html
Решил пересесть на stm8, сначала было мутновато, но вроде понемногу въезжаю. Как оказалось, в стандартных библиотеках нет функций _delay_ms и _delay_us, я решил сделать на таймере: void timerDelayInit(void) { // таймер должен делать 1 тик в 1 микросекунду TYM1_PSCRH = 0; TYM1_PSCRL = 16; TYM1_CR1 = MASK_TYM1_CR1_OPM|MASK_TYM1_CR1_DIR; // обратный счет, остановка по переполнению }
ARM, Cortex, STM32 stm8 и little-endian уже около недели в свободное время по вечерам изучаю STM8, знакомые программеры спрашивают, чем они лучше AVR и я всегда отвечал: "всем". Но вот нашелся первый минус, и как для меня, очень значительный: stm8 использует в много байтовых величинах порядок байт big-endian, вместо little-endian. Проблема в том, что я в основном разрабатываю девайсы для связи с другими устройствами по каком нить... https://www.cyberforum.ru/ arm/ thread2089304.html [SOLVED] STM8L DMA+SPI TX ARM, Cortex, STM32
кто-нибудь делал посылку в SPI через DMA? собрал цепь из восьми 74HC595, первый байт теряется хз где, ичсх, без DMA всё бодро. ЧЯДНТ? вот так работает странно и неправильнопервоинит вот такой: //SPI CLK_PeripheralClockConfig(SPI_595_CLK, ENABLE); GPIO_Init(SH_clk_port,SH_clk_pin,GPIO_Mode_Out_PP_Low_Fast); GPIO_Init(DO_port,DO_pin,GPIO_Mode_In_PU_No_IT);...
ARM, Cortex, STM32 Вывод частоты тактирования в порт День добрый! Подскажите люди добрые где подвох с выводом внутренней частоты тактирования HSI на ногу PA2/ OSCOUT контроллера STM8S003K3. (плата STM8SVLDISCOVERY) //значит такая вот инициализация CLK_CCOR |= 0b00010100; //задаю нужную частоту PA_DDR |= 0b00000100; //настраиваю порт в push-pull как в даташите написано PA_CR1 |= 0b00000100; PA_CR2 |= 0b00000100; https://www.cyberforum.ru/ arm/ thread2089302.html ARM, Cortex, STM32 проблема с инициализацией LCD на STM8L152R6 https://www.cyberforum.ru/ arm/ thread2089301.html
помогите кто чем может не инициализируется LCD - нет 3х уровневых сигналов на ногах (сам контроллер рабочий- моргает светодиодом) использую IAR и discovery как программатор , проверяю этот код на discovery (там STM8L152С6) - всё работает отличия между инициализацией контроллеров - только количество COM 4 или 8 больше я не нашел, может кто подскажет - где поискать глюк? (неделю уже ищу! мозг...
ARM, Cortex, STM32 Время входа в прерывание и WFI
Имеем: STM8L152K6T6 работающий на частоте 1МГц (HSI/16) Таймер TIM2, который дергает ножкой по событию Compare. И по этому-же событию выдает прерывание. В прерывании первой командой поднимается другая ножка. После запуска таймера, программа крутится в цикле while(1). Там всего одна команда JRA - выполняется за два такта. Смотрим на время между переключением ножки по событию от таймера...
ARM, Cortex, STM32 STM8S103F3 + TDA7313 и I2C_GetFlagStatus(I2C_FLAG_BUSBUSY)) https://www.cyberforum.ru/ arm/ thread2089299.
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 168
08.11.2012, 23:47 0

IAR 1.31 - Оптимизация - ARM, Cortex, STM32 - Ответ 11336394

08.11.2012, 23:47. Показов 13004. Ответов 28
Метки (Все метки)

Ответ

Цитата Сообщение от Bytt
В общем случае для битовых полей генерируется менее оптимальный код. Если хотите от ваших программ большей эффективности, постарайтесь не использовать битовые поля.
В стандартных инклудах IARа доступ ко всем битам портов объявлен как раз через битовые поля.
И, похоже, компилятор таки умеет ими пользоваться правильно - в моих экспериментах он уместно использует BSIT, BRES, BCCM.

Да и, честно признаться, я себе плохо представляю как написать код на С более явно чем я написал что бы компилер понял что можно сдвигать через перенос и использовать инструкции манипуляции битами (которые так кстати есть у STM8).

Я перепробовал кучу разных вариантов. И с битовыми полями и без них.
То что в первом посте генерит самый оптимальный код. Но он все-равно далеко не оптимальный.
Иначе получаются проверка проверка бита и переход либо на установку 0 либо на установку 1.

Даже если забить на двойные сдвиги, я не понимаю откуда взялась такая концовка.
Она появляется только если в функции 8 присвоений. Если убрать 1 любое - концовка ищезает и вместо нее появляется честный (хоть и двойной) сдвиг и BCCM.

Вернуться к обсуждению:
IAR 1.31 - Оптимизация ARM, Cortex, STM32
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2012, 23:47
Готовые ответы и решения:

IAR Internal Error: нужна помощь по IAR и по C++
Просьба к тем, у кого есть IAR AVR версии выше, чем 5.11B/W32 (5.11.2.5): не могли бы вы...

Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация
Много много лет назад, на заре становления профессии "оптимизатора" в какой то умной книжке был...

Оптимизация методом Ньютона (нахождение точки минимума). Оптимизация кода
MATLAB только начал осваивать. Попытался реализовать нахождение точки минимума методом Ньютона...

IAR
IAR asm: что значит знак # перед чиислами? например #0280h

28
08.11.2012, 23:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2012, 23:47
Помогаю со студенческими работами здесь

IAR
Люди, у кого ИАР версии 5.20.4 или выше, выложите пожалуйста папки config и yms в архиве.

Stm32 в IAR на C++
Добрый вечер! Такой у меня есть вопросик: написал программу-мигалку для stm32f303 в iar на си, все...

IAR EEPROM
Кто в IAR пишет, дайте, плиз, примеры работы с EEPROM в IAR. Проект заканчиваю, осталось только...

IAR+PROTEUS
Доброе время суток хочу свалить с CV в IAR. Только никак не могу договорится как заткнуть свой...

static в IAR
Господа, под IAR для STM8L в подпрограмме имеется объявление static byte abc = 0; При каждом...

IAR начало
Всех с Новым годом! Вот решил освоить IAR. :) (трезвый). Скачал , установил , поскакал с бубном-...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru