Например TDA7294

Форум РадиоКот • Просмотр темы - STM32 новичку в ARM что к чему
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 08:32:13

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 8459 ]     ... , , , 209, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пт июн 29, 2018 10:49:41 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: -4
когда считывать регистр RTC_CNT.

А зачем его считывать? Его состояние и так известно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пн июл 02, 2018 21:31:38 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
Скачал тут IAR 8.30 для ARMов. Открыл проект, который в 8.22 компилился, вроде. А тут - подключение <string> вызывает Error[Pe1061]: declaration of enum "std::align_val_t" is incompatible with a declaration in another translation unit C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.1\arm\inc\cpp\new 137
У меня включен компилятор С++ принудительно, не экстендет бейсед.
В общем проблема не в проекте - сгенерил кубом чистый проект, как только подключаю стринг - ошибка.
Экспериментальным путем обнаружил что снятая галочка мультифайловой компиляции решает проблему. Ну ок, не суть. Но, внезапно, из мейна перестал быть виден инклюд в другой папке, пр итом что в список источников эта папка добавлена. Указание полного пути тоже не решает проблему :facepalm: :facepalm:
В общем файлы перенес файлы в общую папку, благо их только два, и проект собрался. Уже сил нет дальше ковырять, тем более создавать бесплатную пробную учетку и делать реквест в сапорт (с АВР я так делал - прокатило :))) ). Если есть идеи куда посмотреть-потыкать буду благодарен.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июл 03, 2018 02:11:57 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 11
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 823
Откуда: Киселевск
Рейтинг сообщения: 0
IAR шлак, KEIL рулит

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июл 03, 2018 07:07:20 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 2
Ярослав555, Первое подтверждаю. Конкретнее в <new>. Для C++17 пилят overaligned allocation. Ну ничего, подождём, допилят. Второе не подтверждаю, всё подключается из списка директорий.

Oxford, когда в Keil C++17 завезут - приходи, похоливарим :)


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июл 03, 2018 09:03:28 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
Первое подтверждаю.
Второе не подтверждаю, всё подключается из списка директорий.

По первому - ок, ждем обновы. Пока что проблему поборол.
По второму - у меня мейн лежит в папке срц, инклюды в папке инк. А вот системный таймер лежал со своим инклюдом в отдельной папочке, и эта папка была добавлена в источники. При этом из мейна хидер таймера был в упор не виден. Ну ладно, не суть может глюк какой-то. Тоже поборол. Ждем обнову.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Пт июл 06, 2018 22:33:52 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
еще один "бажик" нового иара - открываю проект, снимаю птичку мультифайловой компиляции, сохраняю, закрываю среду. Запускаю по новой - птичка стоит. Не знаю - баг самого проекта от предыдущей версии, или баг среды, или оно эту птичку само выставляет потому что по каким то причинам считает это нужным.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср июл 11, 2018 12:45:36 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт дек 29, 2015 11:33:49
Сообщений: 56
Рейтинг сообщения: 0
Приветствую, уважаемые. Есть тривиальная задача подключения 7 сегментного индикатора. Для экономии ног будет использован отдельный bcd в 7 сегмент дешифратор. Вопрос в следующем какие есть варианты передачи на сам дешифратор? Сам пока вижу следующее - ширина 4бит следовательно используется 4 ноги (для примера P1 - P4):

Спойлер
Код:
#define DIG0      ~(GPIO_ODR_1 | GPIO_ODR_2 | GPIO_ODR_3 | GPIO_ODR_4)
#define DIG1      GPIO_ODR_1
...
#define DIG9      (GPIO_ODR_1 | GPIO_ODR_3)

int main(void){

/* тактирование и инициализация портов */

uint8_t digits[] {DIG0, DIG1 ... DIG9);

for (uint8_t i = 0; i < 9; i++){
   GPIOA->ODR |= digits[i]
   relay();
}


На сколько коряво такое решение и как правильнее решить эту задачу?


Последний раз редактировалось pavell Ср июл 11, 2018 21:11:19, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср июл 11, 2018 13:00:28 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
pavell, самое правильное решение - то, которое работает как задумывалось.
А как оно выполнено - по большому счёту, фиолетово.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср июл 11, 2018 16:46:39 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
pavell , оптимальное -аппаратная динамическая индикация на таймере и дма.
Есть вариант на внешних сдвиговых регистрах, здесь эмуляция многоканального SPI опять таки же на таймере и дма...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср июл 11, 2018 19:08:14 
Нашел транзистор. Понюхал.

Зарегистрирован: Сб фев 09, 2013 23:00:23
Сообщений: 183
Рейтинг сообщения: 0
Если необходимо экономить ножки до такой степени что хочется вставить внешний чип, то лучше не дешифратор, а сдвиговый регистр. Всего 2 ноги на управление. Можно SPI, а можно и ногодрыжеством, поскольку скорости много не надо. Так проще. В прерывании по таймеру. Если больше одной цифры, можно либо использовать еще сколько то ножек для динамической индикации. Скажем 4 знака. Если осталось 4 ноги процессора, то прямо управлять ключами. Если нет - 2 ножки и дешифратор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср июл 11, 2018 20:19:28 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
alexf58 , если приходится экономить что либо -выбор камня сделан не верно, и это подход кулибина-наколенника.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср июл 11, 2018 21:04:14 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт дек 29, 2015 11:33:49
Сообщений: 56
Рейтинг сообщения: 0
Спасибо за советы, посмотрю на сдвиговые регистры, реализация как мне кажется более изящная + экономия ног. К слову МК будет использоваться в корпусе TSSOP-20 т.е. ног не много. Ну и сегодня попытался реализовать описанное мою выше , понял что даже там можно упростить. Вот так глядишь и научусь чему-нибудь ))

alexf58 , если приходится экономить что либо -выбор камня сделан не верно, и это подход кулибина-наколенника.

Ну я собственно им и являюсь, чоуж. А выбор сделан в соответствии со своими возможностями, под 48 ногий корпус мне ни платы не изготовить, ни МК запаять.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт июл 12, 2018 15:23:16 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Все ваялось "на коленке" - лутЪ, и жало "топор" 900m-t-k

Изображение

Изображение

Изображение

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Чт июл 12, 2018 19:22:04 
Нашел транзистор. Понюхал.

Зарегистрирован: Сб фев 09, 2013 23:00:23
Сообщений: 183
Рейтинг сообщения: 0
alexf58 , если приходится экономить что либо -выбор камня сделан не верно, и это подход кулибина-наколенника.


Естественно В ОБЩЕМ СЛУЧАЕ лучше всего выбрать чип где всего хватает. Но вопрос был не об этом. Более того, в отдельных случаях дополнительный корпус полезен, например если нужно 5 В на выходе, или больше ток чем может дать сам процессор. Но главное, что на вопрос "как вытащить Жигули из лужи", ответ "ездить на Джипе" может и правильный, но не очень полезный.

P.S. В наше время китайцы делают небольшие двухсторонние платы с маской и надписями примерно по $1 штука. Если не надо прямо сегодня, зачем лутовское наколенное кулибинство?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июл 17, 2018 19:39:26 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт дек 29, 2015 11:33:49
Сообщений: 56
Рейтинг сообщения: 0
Добрый вечер столкнулся с необъяснимым для себя. Имеется таймер с прерыванием по переполнению, который работает при дефолтных настройках тактирования (HSI 8Мгц). Добавляю в функцию SystemInit() файла system_stm32f0xx.c, сразу после сброса предделителей, делитель шины APB1EHR и либо таймер, либо прерывание перестают работать (а может и оба сразу). Мануал каких то особых рекомендаций и условий установки предделителя не дает. Я обескуражен :dont_know:

Код:
 /* Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE and MCOSEL[2:0] bits */
 RCC->CFGR &= (uint32_t)0xF8FFB80CU;
 RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE_DIV16;    //добавленная строка


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июл 17, 2018 19:52:51 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
сразу после сброса предделителей, делитель шины APB1EHR и либо таймер, либо прерывание перестают работать (а может и оба сразу).

Уверен, что таймер именно перестает работать, а не работает в 16 раз медленнее?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июл 17, 2018 20:08:00 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт дек 29, 2015 11:33:49
Сообщений: 56
Рейтинг сообщения: 0
Уверен, так как меняю значения прескейл с 7999 на 999, даже если бы я этого не сделал, то работал бы он только в 8 раз медленнее, т.к. на эти таймеры после делителя идет "железный" множитель на 2

UPD. Не знаю на сколько можно верить отладчику, но он показывает, что таймер таки работает и по крайней мере значение счетчика растет. Смею предположить, что дело в прерывании.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Вт июл 17, 2018 20:58:54 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 1
Уверен, так как меняю значения прескейл с 7999 на 999, даже если бы я этого не сделал, то работал бы он только в 8 раз медленнее, т.к. на эти таймеры после делителя идет "железный" множитель на 2

Точно, в 8 раз, но это сам таймер будет в 8 раз медленнее, а шина в 16 раз и через эту шину идет доступ к регистрам таймера. В начале обработчика прерывания обычно сбрасываются флаги, но из-за делителя это произойдет с опозданием и если обработчик небольшой, то сразу после выхода в него сразу попадем снова. Чтобы удостоверится, что флаги сброшены достаточно прочесть регистр TIMx->SR...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср июл 18, 2018 06:47:29 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вт дек 29, 2015 11:33:49
Сообщений: 56
Рейтинг сообщения: 0
но из-за делителя это произойдет с опозданием и если обработчик небольшой, то сразу после выхода в него сразу попадем снова.

Спасибо, все так и было. Поставил в обработчик цикл задержки и появились признаки правильной работы. Это что получается - использование отдельных делителей шин AHB, APB зло?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32 новичку в ARM что к чему
СообщениеДобавлено: Ср июл 25, 2018 12:58:34 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 10
Зарегистрирован: Пн ноя 07, 2016 12:14:14
Сообщений: 134
Рейтинг сообщения: 0
Здравствуйте!. Помогите разобраться с FSMC.
Пишу программу для управления дисплеем на ST7735R (8 бит, параллельный интерфейс). https://cdn-shop.adafruit.com/datasheet ... R_V0.2.pdf
Весь даташит прочитала, но всего, что мне надо не нашла.

Код:
#define COM_ADR        *(uint16_t*)0x60000000
#define DAT_ADR      *(uint16_t*)0x60080000
//----------//
void LCD_Write_Com(uint16_t com,uint16_t data ){
   COM_ADR   = com;
   DAT_ADR   =   data;
}
//----------//
void LCD_Write_Data(uint16_t data ){
   DAT_ADR   =   data;
}


FSMC настраивался с помощью Cube.
Теперь мне надо инициализировать дисплей.
Тут в статье нашла что-то похожее для AVR:
Код:
void Send(unsigned char DATA, unsigned char DC);
void disp_init()
{
   Send(SWRESET,0);   //программный ресет
   _delay_ms(120);

   Send(SLPOUT,0);      //будим после ресета
   _delay_ms(120);

   Send(DISPON,0);      //включаем экран

   Send(MADCTL,0);      //меняем вывод цветов с GBR на RGB
   Send(0b00001000,1);

   Send(COLMOD,0);      //меняем кодировку цветопередачи на 2-байтную (64К цветов)
   Send(5,1);
   
}


То есть человек просто отправляет данные и флаг команда/данные.
А мне получается надо в функции LCD_Write_Com отправлять данные по одному адресу, а команду по другому. То есть data =SWRESET, например. Флаг данных/команды тоже выставляется там где #define. А соm где найти? И я не очень понимаю откуда эти адреса брать. В документации показаны только данные, адресов нет. Во вложении показано как выглядит описание команд. Есть еще одна статья, но там тоже не объясняется откуда это все берется и как искать https://microtechnics.ru/stm32-i-disple ... anie-fsmc/.
Как это искать? Или я что-то неправильно понимаю.

Или может быть этот подход для других дисплеев, а мне нужны функции с одним аргументом?

Код:
void LCD_Write_Com(uint16_t com);
void LCD_Write_Data(uint16_t data );


Вложения:
Комментарий к файлу: список команд ч3
3.png [119 KiB]
Скачиваний: 426
Комментарий к файлу: список команд ч2
2.png [111.75 KiB]
Скачиваний: 226
Комментарий к файлу: список команд ч1
1.png [91.21 KiB]
Скачиваний: 430

_________________
Я конечно все понимаю, но этого я не понимаю.
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 8459 ]     ... , , , 209, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y