- GD32F103. Я правильно понимаю, конфликт JTAG и СH1 TIM2? Короче
симптомы.  IBAH(466 знак., 27.06.2025 13:22, ARM, полностью)
	
 
- Artery AT32F407. Записываю прошивку софтиной ICP Programmer через
программатор AT-Link+. Если устанавливаю защиту FAP, то программа
автоматически не запускается. Приходится переподключать питание
устройства. После этого всё работает как нужно. При этом в
интерфейсе программатора при установке чекбокса Enable FAP after
download становится недоступным чекбокс Jump to the user program. В
документации сказано, что так и должно быть. При этом нигде в
софтине программатора я не  FDA(288 знак., 24.06.2025 10:51, ARM, полностью)
	
		- В кйеле есть такое. Неужто в софтине программатора не сделали.  POV(1 знак., 24.06.2025 11:02, картинка)
			
				- Я ж про это и пишу. Что если FAP активируешь, то это галка уже не
работает! А ручного сброса в интерфейсе почему-то нет. - FDA(24.06.2025 11:03)
					
						- Есть проги, которые галочки в интерфейсе снимают. Это вы не имели
дело с мегавиновским софтом. У нас, чтобы шить на производстве,
мастерили софт, который имитирует нажатие кнопок в родной оболочке.
В вашем случае можно приладить доптулз, который по команде будет
ресет дергать на плате. - vesago(24.06.2025 12:11)
 
						- Вот как получается. Всё шьётся, но надо потом плату пересбросить.
Вроде мелочь, но когда придётся шить пару тысяч штук, это уже
напрягать будет :-)  FDA(1 знак., 24.06.2025 11:06, картинка)
							
						
 
					
				 
			
		 
	
 
- Задался вопросом - можно ли при помощи stm32 управлять импульсным
источником питания, руля его ШИМ. Оказывается - все уже придумано -
проц STM32G474 имеет таймеры высокого разрешения, спец для этого. и
даже хардверный цифровой фильтр. Правда я пока не понял для чего.
Есть отладочная плата B-G474E-DPOW1 около 6т на али. Я так понял
что управление идет PID алгоритмом. Только не понятно - по идее
параметры PID зависят от нагрузки, и их надо динамически менять,
или я не прав?  Mty1(2 знак., 21.06.2025 18:14, ARM, ссылка, ссылка)
 
- СТМ32 таймер в режиме двухстороннего аппаратного ШИМ, вывод на
порт. Как наиболее правильно сделать защиту по току.  IBAH(250 знак., 21.06.2025 15:22, ARM, полностью)
	
 
- Не могу понять - ADC с запуском по таймеру, сканирует 5 каналов и
отдает данные через DMA в буфер. Что в однократном что в curcular режиме - DMA делает один проход буфера и останавливается. А мне
нужно в circular режиме непрерывно наливать в буфер. Накидайте идей
- не могу понять. Stm32 f4, CubeIDE  Mty1(74 знак., 19.06.2025 13:54, ARM, картинка, картинка, полностью)
	
 
- Странный вопрос задам - а Clipped Sine Wave Oscillator подойдет для
внешнего тактового генератора Stm32 ? - Mty1(12.06.2025 19:21, ARM, полностью)
	
 
- Gd32f103cb PD0, PD1 и , EXTI - правильно ли я понял, что внешнее
прерывание не доступно для 48 ногих чипов на данных портах(ногах)
?? - Balda(11.06.2025 17:37, ARM, полностью)
	
 
- ch32vxx: починил поддержку FreeRTOS в openocd для wch-riscv  klen(1090 знак., 26.12.2024 15:11, ARM, ссылка, картинка, полностью)
	
		- Не работало с WCH-LinkE. Добавил одну строчку в wlinke.c:  Nikolay_Po(2076 знак., 10.06.2025 17:40, ссылка)
			
		
 
		- Короче, эта сборка с WCH-LinkE пока не работает, по крайней мере с
CH32V317. Пробую поднять отладку RTOS на WCH-Link-CH549. Товарищ
Клён! Есть просьба. Покажите, пожалуйста, ваши конфиги, в
частности, wch-riscv.cfg для OpenOCD и настройки GDB в самой среде
Eclipse. Пока добился, что RTOS видит. И, если, в стартапе отладки,
снять птичку Continue, то отладка идёт пошагово нормально. Кнопка
перезапуска работает - начинает с вектора сброса опять. Но стоит
нажать "плей" -  Nikolay_Po(1292 знак., 04.06.2025 14:03)
			
		
 
		- Пробую компилировать. Всё хорошо до момента сборки после компиляции
модулей. Ошибок компиляции нет. Но не находит переменных и функций
из wlinke.c, будто бы этот файл не компилируется вообще (не попал в
make?).  Nikolay_Po(5366 знак., 03.06.2025 12:32 - 13:21)
			
		
 
		- Товарищ Клён, а нельзя ваши труды смержить с этим:
cjacker/wch-openocd Latest source of official WCH OpenOCD
(2024-11-26 version):  Nikolay_Po(1 знак., 03.06.2025 09:29, ссылка)
			
		
 
		- Тут товарищи из смежных конференций, спрашивают:  Nikolay_Po(136 знак., 26.12.2024 15:57)
			
		
 
	
 
- Опять GD32F103, опять SPI. Пауза между прием между передачей байт,
на приеме та же хня. Такое ощущение что флаг RXNE выставляется не
после 8, а после 16 бит. Кто виноват и что делать?  IBAH(1451 знак., 04.06.2025 20:41 - 20:46, ARM, картинка, полностью)
	
		- Ну теперь точно постиг дао. Китай загадка покрытая тайной. Секрет в
том что перед проверкой BSY надо проверять TXE. Чтоб я еще с шиной
ABP1 связался!  IBAH(1870 знак., 09.06.2025 19:41)
 
		- Всем спасибо! Кажись победил! Путём научного тыка в бубен родил
такой код. Правда пришлось добавить еще одну функцию, занятость
SPI. Немножко придется поправить обмен.  IBAH(1313 знак., 05.06.2025 15:24, картинка)
			
		
 
		- на стр. 490 при передаче предлагают игнорить RBNE  Vit(1 знак., 05.06.2025 13:37, ссылка)
			
				- Ну это понятно, передача у меня так и работает. - IBAH(05.06.2025 14:12)
					
						- что-то там мутное. "в полнодуплексном ведущем режиме (MFD)
оборудование получает следующий кадр данных только тогда, когда
буфер передачи не пуст."  Vit(802 знак., 05.06.2025 15:00)
							
								- Хз... Мастер, в полнодуплексном режиме, засылает 16 бит в datar(я
предпочитаю "0", но надо смотреть документацию оконечного
устройства) и, как тока попускает, выгребает из datar данные. При
необходимости, повторить. Чота я смотрю на дискуссию и не понимаю,
обо што разговор. - mse homjak(06.06.2025 12:00)
									
										- Разговор о том, что флаг RXNE выставляется, по факту не когда
происходит завершение приема, а на несколько десятков тактов проца
позже (в моем случае гдето 500нС). В результате стоишь тупо ждешь
RXNE!=0, как дебил. С флагом BSY та же история. - IBAH(06.06.2025 15:18)
											
												- RXNE выставляется после передачи байта. Полюбому, чисто, чтобы вы
не забыли вычитать данные(на самом деле, хуй его знает, зачем этот
флаг). Смотрите первые два сообщения по сцылке про это. И пофиг,
передаётся 8 или 16 бит. Это косяг, ессно. Флаг должэн взводиться
после завершения базовой транзакции, т.к. при передаче одновременно
идёт и приём. Т.е. сигнала BUSY или TXE достаточно. Хотя TXE тожэ
нах не упёрся, они оба-три дублируют друг друга. Нижэ код работы с
АЦП.  mse homjak(932 знак., 06.06.2025 18:30, ссылка)
													
														- Этот код ничего не доказывает. Сколько времени проходит между
SPI2->DATAR=(uint16_t)0; и входом в прерывание? я думаю больше
16 тактов SPI, как раз на те самые 500нС - IBAH(06.06.2025 18:41)
															
																- То, что больше, к бабке не ходи, т.к. время на вход, контент, пока
доберётся до загрузки. Но тут по другому нельзя было. А по сцылке,
я пытался в аппаратный NSS, но уй там. Потому, для многобайтных
потоков или программного NSS, нужно просто следить за BUSY безо
всяких прерываний. И чем выше скорость SCLK, тем выгоднее тупой
поллинг BUSY. - mse homjak(06.06.2025 18:47)
																	
																
 
															
														 
													
												 
												- Это у вас ошибочка. Вы ждёте лишнего следующего символа. Нет у периферии такой памяти, чтобы задержать
сигнал на на кучу тактов. Вы просто промахиваетесь с приёмом. Или
пропускаете 
бит байт (тогда будет поднят флаг оверфлоу, проверьте), или принимаете
и упускаете один, а потом ждёте лишнего.  Nikolay_Po(842 знак., 06.06.2025 15:38)
													
														- Я по всякому пробовал... Мне как раз не нужно буферизированное
чтение. Я на ходу байты разбираю. А в доке по GD32 так и написано  IBAH(236 знак., 06.06.2025 16:46)
															
																- Ну да. Не вижу противоречий. Как только взводится TXE, сразу
кидайте следующий байт. Но кидать больше байт, чем у вас длина
транзакции - не нужно. Кинули последний, выключили прерывание по
TXE и ждёте падения BSY. Всё. Транзакция закончилась ровно тем
количеством байт, которое отправили в буфер передачи. Так получите
полностью слитную посылку.  Nikolay_Po(1026 знак., 06.06.2025 17:46)
																	
																		- Я так и делаю... Правда на переполнение Rx чихаю. Может из-за этого
проблемы... Попробую не чихать - IBAH(06.06.2025 18:24)
																			
																				- Чихайте смело. Дажэ плюйте. Просто контролируйте передачу.  mse homjak(317 знак., 06.06.2025 18:53)
																					
																						- Не катит. ТСу нужна непрерывная передача, а по BSY она будет
дырявой. - Nikolay_Po(06.06.2025 20:29)
																							
																								- Ну, тогда, канешно, придётся смотреть на ТХЕ. Если он работает как
должэн. Тактовая, порты, делим на 2, СПИ тожэ на 2. Это
максимальная СЦК. У СПИ есть двойная буферизация, когда идёт
передача, в ДАТАР можно записать следующее. Скока там будет, читать
статус, проверить флаг, записать новое, подготовить следующее?
Думаю, быстрее, чем 16*4 тактов. - mse homjak(06.06.2025 22:30)
 
																							
																						 
																					
																				 
																			
																		 
																	
																 
															
														 
													
												 
											
										 
									
								 
								- Спасибо. Совпадает с моими представлениями.  Nikolay_Po(295 знак., 06.06.2025 09:00)
 
							
						 
					
				 
			
		 
		- предложу попробовать поменять строки LL_SPI_Init(SPI2,
&SPI_InitStruct); и LL_SPI_Enable(SPI2); между собой - Vit(05.06.2025 12:21)
			
		
 
		- А я вот так с SPI работал  vesago(2363 знак., 05.06.2025 11:56)
			
		
 
		- У тебя между обменами - 500нс, это десятки тактов МК. Что ты еще
хочешь от программного SPI, да еще через библиотеку, да еще с
ожиданием после каждого байта посылки, т.е. без использования
буферного регистра данных SPI. Так оно примерно и будет, так что
все нормально. - il-2(05.06.2025 06:15)
			
		
 
		- Йа каг-то упоролся с СПИ СТМа. Часть моей боли тут, по сцылке.  mse homjak(1 знак., 04.06.2025 23:38, ссылка)
			
		
 
		- от  POV(1 знак., 04.06.2025 21:24, ссылка)
			
		
 
		- В листинге все ОК, наблюдаю байтовую запись STRB r2,[r4,#0xc]  IBAH(442 знак., 04.06.2025 20:54)
 
		- попробуй перед отправкой еще флаг TXE проверять  POV(53 знак., 04.06.2025 20:54, картинка)
			
		
 
		- Или проблема в медленной шине APB1 на которой сидит SPI2 ? - IBAH(04.06.2025 20:54)
 
		- Компилятор Кейл. - IBAH(04.06.2025 20:43)
 
	
 
- Продолжение про ST-Link v2. Заказал на озоне новый, за смешные
272р. Прибыл на странном чипе MH2103C8T6. Поначалу вроде все ок -
обновился, прошился, загрузил прогу в проц. Но потом бац - сюрприз.
Даже при отключенном сеансе отладки, и просто подключенном
программаторе основной проц выдает мусор в GPIO порт, вместо
правильных данных, которые туда пихает DMA. Отмыл старый
программатор спиртом, прошил еще раз новой прошивой. Вроде пока
работает без сбоев. Но задача купить  Mty1(92 знак., 01.06.2025 21:45, ARM, картинка, полностью)
	
 
- WCH-Link за 116 руб ->  il-2(1 знак., 03.06.2025 16:56, ARM, ссылка, полностью)
	
 
- Вопрос по температуре, измеряемой встроенным датчиком у STM32F030.
Как ее правильно вычислить?  AlexBi(936 знак., 30.05.2025 14:58, ARM, полностью)
	
		- Вроде же поднимался подобный вопрос. Помню, одним из решений было:
при первом запуске прошивки, подразумевать что температура в цеху
25 градусов. Брать текущее значение сигнала датчика и рассчитывать
коэффициент. Учитывая, что наклон зависимости напряжения от
температуры имеет малый разброс от партии к партии, такой
калибровки, по одной точке, достаточно для обнаружения ожога или
обморожения платы с МК. - Nikolay_Po(01.06.2025 09:10)
 
		- Считаю по алгоритму из даташита:  Eddy_Em(529 знак., 30.05.2025 23:22)
			
				- [зануда моде он] int32_t заменить на int, ибо нефиг. Приведение к
(int32_t) убрать по той же причине. Ну и вроде бы выяснили, что
TEMP110_CAL_ADDR там нет. - SciFi(30.05.2025 23:28)
					
						- В общем случае, int может быть и 16 бит. Поэтому нечего
расслабляться. Где нужно больше 16 бит, лучше явно приводить к
необходимому размеру. Для зануд, можно использовать (int_fast32_t).  Nikolay_Po(1 знак., 01.06.2025 09:17, ссылка)
 
						- Ну шо вы ей богу, какой такой int? Скока вешать в 
граммах битах? - Bчepaшний(31.05.2025 13:50, 
) 
						- Ненавижу неявные типы. Одно дело - маленький итератор. Так-то
понятно, что у этих МК int и int32_t - одно и то же, но второе
приятней.  Eddy_Em(58 знак., 30.05.2025 23:58)
							
						
 
					
				 
			
		 
		- Со всеми калибровками редко получалось лучше, чем +/- 5 град. Чаще
- 10 град. В любом камне от ST. Вот последний раз надо было
включать обогрев в колонке. Ну примерно при 10-20 град мороза
гарантировано включит. Не более того. :-) - Лaгyнoв(30.05.2025 18:49)
			
		
 
		- вот тут пишут, что на самом деле нету там "калибровочное значение
АЦП при 110 градусах":  SciFi(1 знак., 30.05.2025 16:03, ссылка)
			
		
 
		- давно это было  IBAH(1472 знак., 30.05.2025 15:27)
			
		
 
		- Абсолютное значение температуры, встроенным в МК датчиком, измерять
нет смысла. Там цена на дрова во время полнолуния получается.
Встроенный датчик годится лишь для слежения за скоростью изменения
температуры. И даже в этом случае скорость зависит от того, как
близко на кристалле датчик от ядра находится. Если вам нужна
температура платы в районе МК, то проще и точнее измерять падение на внешнем
кремниевом диоде, запитанном от источника тока.  reZident(104 знак., 30.05.2025 15:11)
			
		
 
	
 
- Размышления ренегата. Каждый раз пытаясь слинять с моего любимого
Мелкочипа (продажной девки империализма) на убогий СТМ (который не
гасит свой сайт для русских юзеров), останавливаюсь на отсутствии
буферов у УАРТА, СПИ, и проч. Оне рекомендуют юзать ДМА. Что скажут
многолетние пользователи этого убожества: нагружать ДМА несколькими
потребителями насколько кошерно? Нет ли эффекта очереди в туалет
коммунальной квартиры? Там же ещё телевизор, интернет, цап, ацп - и
все хотят к  Kpoк(16 знак., 31.05.2025 00:15, ARM, полностью)
	
		- Про это есть кинолента. "Как я научился не волноваться и полюбил 
атомную бомбу ДМА".  SciFi(1 знак., 02.06.2025 09:53, картинка) 
		- FIFO - это костыль архитектуры без DMA. У STM кстати, есть FIFO и у
UART и у SPI - на 1 байт :-) При наличии DMA этого достаточно,
чтобы обеспечить передачу без разрывов.  il-2(2221 знак., 31.05.2025 07:32)
			
		
 
		- По сравнению с процэм, ДМА, Стремительный Олень. Цикл шины никуда
не деваецца, но накладных расходов на вызов прерывания и
сохранение-восстановление контента, нет. Штука годная. А как они
меж собой, юзеру без разницы. - mse homjak(31.05.2025 00:35)
 
	
 
- Есть ли в симуляторе IAR ARM 9.40 "волшебное слово" чтобы
задефайнить ожидание готовности PLL, переключение периферии и т.д. - BlackMorda(01.06.2025 15:36, ARM, полностью)
	
 
- В CubeIDE загрузчик периодически пишет "Error in initializing ST-LINK device." и не может загрузить прошивку. Потом может оклематься на время.
Не пойму в чем дело. Раньше было пару раз проходило, думал глюк. А
теперь прямо 1 раз из 20 срабатывает. Не пойму - то ли stlink
умирает то ли проц?  Mty1(2229 знак., 29.05.2025 21:16, ARM, полностью)