In bypass mode the HSE oscillator is switched off and the input pin is a standard GPIO.
STM32 новичку в ARM что к чему
Re: STM32 новичку в ARM что к чему
Это точно будет работать?
- Реклама
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
Я думаю, в даташите ошибка и имелась в виду нога OSC_OUT, которая в этом корпусе просто не выведена. HSE crystal oscillator bypass это стандартный способ ввести тактовую с внешнего генератора в обход внутренней схемы подключения кварца.

Спойлер
Re: STM32 новичку в ARM что к чему
VladislavS писал(а):Правильное продолжение программы - автоматически послать факс в отдел кадров с заявлением "просю по собственному".
Чё вы такие злые, субботняя водка была палёной?AVI-crak писал(а):Это когда девайс в серию ушёл, а деньги с премии уже успели потратить.
Проверить делитель на равенство нулю в своём коде я могу, пусть даже ценой затраты на проверку перед каждым делением, но зачем? Попытка деления на ноль редка, но случается, поэтому, по-моему, проще обработать исключение и выставить флаг недостоверности результата.
С плавающей точкой веселее, тут могут получится и NAN, и INF, поэтому тут однозначно надо обрабатывать исключения.
Речь идёт о ПЛК, который программируется пользователем, и я не знаю, что он накодит, но ПЛК должен спокойно переваривать такие ситуации.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
В ПЛК пользователь не пишет нативный код. Случай некорректной программы пользователя это не случай деления на ноль в главной прошивке. Собственно, если вам хочется делить на ноль, как мы можем запретить...
Re: STM32 новичку в ARM что к чему
[uquote="tonyk",url="/forum/viewtopic.php?p=4391318#p4391318"][quote="VladislavS"]поэтому тут однозначно надо обрабатывать исключения.[/uquote]
а что тут обрабатывать? ватчдог должен перезагрузить микроконтроллер, и при старте уже смотреть, по какой причине произошел конфуз.
а что тут обрабатывать? ватчдог должен перезагрузить микроконтроллер, и при старте уже смотреть, по какой причине произошел конфуз.
- Реклама
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
Нет и не может быть одного рецепта на все случаи жизни.
Re: STM32 новичку в ARM что к чему
Причём тут собака? Видимо, с ПЛК не работали.JackSmith писал(а):а что тут обрабатывать? ватчдог должен перезагрузить микроконтроллер
ПЛК или выставляет флаги ошибки вычислений и номер шага, вызвавшего ошибку, или вызывает пользовательский код для обработки ошибки. В любом случае, работа программы пользователя не прекращается, то есть ошибка не приводит ни к каким фатальным последствиям вроде зависания.
Re: STM32 новичку в ARM что к чему
Здравствуйте всем. Помогите новичку. Имеется промышленный девайс на STM32F105VCT6. Для прошивки или настройки подключается к пк по USB, определяется как COM порт. При стандартной процедуре обновления прошивки произошло отключение от порта USB и девайс превратился в кирпич. При подключении по USB или просто при подаче внешнего питания загорается на секунду лампочка питания и тухнет, по USB не определяется. Опыта с контроллерами у меня нет, но стало интересно, ведь можно подключиться к нему например через USART или OTG. Штудировал интернет, форумы, документацию, что-то вроде понял. Подпался к определенным пинам и подключил через USB, подал + на ногу BOOT0 и компьютер начал определять устройство, правда идёт подключение, затем отключение несколько раз, затем секунд на 10 устройство остаётся в системе, однако всегда определяется оно с ошибкой 43, VID и PID отсутствует. Прозвонил от чипа контакты DP и DM, не в обрыве. VBAT подаётся. Так же у меня имеется USB UART на CP2102, пробовал через него смотреть в COM порт, ничего. Предполагаю что не хватает сигнала RESET, но как его провести понять не могу. Прикрепил фото платы на всякий случай.
- Вложения
-
- WhatsApp Image 2023-04-05 at 09.27.16.jpeg
- (165.9 КБ) 76 скачиваний
Re: STM32 новичку в ARM что к чему
Прошивка вашего устройства может быть шифрованой. Нужно смотреть сначала прошивку, и только потом прозванивать железку.
Re: STM32 новичку в ARM что к чему
попробую прикрепить файл прошивки
- Вложения
-
- 040200_01_15_02.zip
- (337.22 КБ) 74 скачивания
Re: STM32 новичку в ARM что к чему
[uquote="retoenr",url="/forum/viewtopic.php?p=4407426#p4407426"]попробую прикрепить файл прошивки[/uquote]
вынужден разочаровать.
вынужден разочаровать.
Код: Выделить всё
$ file ./040200_01_15_02.img
./040200_01_15_02.img: OpenPGP Secret Key
Re: STM32 новичку в ARM что к чему
JackSmith, это получается как к контроллеру не подключись, прошить его этим не удастся? Но вот есть программа через которую проводится обновление прошивки, если допустим подцепиться по USART и по появившемуся в системе COM порту попробовать прошить... Однако я точно не помню, кажется перед прошивкой программа прошивальщик меняет устройство в системе, в директории с программой имеются драйвера ST для USB\VID_0483&PID_5740. Прямо сейчас не могу заполучить в руки подобное устройство, чтобы проверить как идёт процесс обновления в этом плане, но скоро заполучу один рабочий экземпляр.
Re: STM32 новичку в ARM что к чему
пишут что STM32F103C8T6 имеет якобы 12 бит ацп
а у меня 10 бит выдаёт только это как ?
а у меня 10 бит выдаёт только это как ?
Re: STM32 новичку в ARM что к чему
Числа от 0 до 1023?Di123 писал(а):а у меня 10 бит выдаёт только это как ?
На входе АЦП какое напряжение?
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: STM32 новичку в ARM что к чему
Важнее какие настройки АЦП: разрядность ведь от 6 до 12 бит настраивается.
Re: STM32 новичку в ARM что к чему
да верно мне посоветовали прописать разрешение
Re: STM32 новичку в ARM что к чему
могу ли я применить для stm32f103cbt6 такие кварцы
на 8мгц 2пин https://static.chipdip.ru/lib/309/DOC008309076.pdf
на 32768гц https://static.chipdip.ru/lib/450/DOC012450032.pdf
там вроде бы во внимание берётся входное сопротивление и ёмкость порта я не знаю какие у него характеристики
на 8мгц 2пин https://static.chipdip.ru/lib/309/DOC008309076.pdf
на 32768гц https://static.chipdip.ru/lib/450/DOC012450032.pdf
там вроде бы во внимание берётся входное сопротивление и ёмкость порта я не знаю какие у него характеристики
- zenon
- Сверлит текстолит когтями
- Сообщения: 1274
- Зарегистрирован: Вт окт 23, 2007 10:01:42
- Откуда: Волгоград
- Контактная информация:
Re: STM32 новичку в ARM что к чему
stm32f030k6t6.
Шим на TIM14, нормально всё, так:
Пытаюсь на TIM16 или 17, никак не хочет шимить.
Ну, думаю может как вариант, чтобы понять, кто виноват, беру вот это либу, делаю для TIM14 так:
Всё ок, шимит, перекидываю:
Молчит PB7.
TIM16 тоже молчит.
Что с таймерами у меня?
Шим на TIM14, нормально всё, так:
Спойлер
Код: Выделить всё
void tim14_init()
{
GPIOB->MODER |= GPIO_MODER_MODER1_1;
GPIOB->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR1;
GPIOB->AFR[0] |=_VAL2FLD(GPIO_AFRL_AFSEL1, 0); // PB1 AF0 TIM14_CH1
RCC->APB1ENR |= RCC_APB1ENR_TIM14EN;
TIM14->PSC = 50;//
TIM14->ARR = 50;
TIM14->CCR1 = 25;// тут скважнось сидит, половина от ARR меандр
TIM14->CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1; //
TIM14->CCER = TIM_CCER_CC1E;
TIM14->DIER = TIM_DIER_UIE;
TIM14->EGR = TIM_EGR_UG;
TIM14->CR1 = TIM_CR1_CEN;
// TIM1->BDTR |= TIM_BDTR_MOE;
}
Ну, думаю может как вариант, чтобы понять, кто виноват, беру вот это либу, делаю для TIM14 так:
Код: Выделить всё
timer_pwm_setup(TIM14, 50, 50, ONE_CHANNEL, PB1);
timer_pwm_period(TIM14, 50);
timer_pwm_value(TIM14, CH1, 25);
Код: Выделить всё
timer_pwm_setup(TIM17, 50, 50, ONE_CHANNEL, PB7);
timer_pwm_period(TIM17, 50);
timer_pwm_value(TIM17, CH1, 25);
TIM16 тоже молчит.
Что с таймерами у меня?
Re: STM32 новичку в ARM что к чему
В f0lib_timers.c используемой вами библиотеки в строках 141-150 судя по всему ошибка, там для таймера 16 в коде возможны ножки PA6/PB8, а для таймера 17 PA7/PB9. Попробуйте на правильные поменять, возможно, поможет. Если да, то автору, наверно, будет приятно, если кинете ему pull request с исправлениями.
- zenon
- Сверлит текстолит когтями
- Сообщения: 1274
- Зарегистрирован: Вт окт 23, 2007 10:01:42
- Откуда: Волгоград
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Хм. Да, спс, исправил, но это не решило, пробовал на PB6/PB7 и на PA6/PA7, тишина.
Так тоже ничего:
Код вот этот правильный?
Так тоже ничего:
Спойлер
Код: Выделить всё
void tim17_init()
{
GPIOB->MODER |= GPIO_MODER_MODER7_1;
GPIOB->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR7;
GPIOB->AFR[0] |=_VAL2FLD(GPIO_AFRL_AFSEL7, 2); // PB7 AF2 TIM17_CH1
RCC->APB2ENR |= RCC_APB2ENR_TIM17EN; //RCC->APB2ENR
TIM17->PSC = 50;
TIM17->ARR = 50;
TIM17->CCR1 = 25;
TIM17->CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1; // 110
TIM17->CCER = TIM_CCER_CC1E;
TIM17->DIER = TIM_DIER_UIE;
TIM17->EGR = TIM_EGR_UG;
TIM17->CR1 = TIM_CR1_CEN;
//TIM17->BDTR |= TIM_BDTR_MOE;
}


