Кирилл Gessor
16.06.2017
08:26:07
Причем если считать программу обратно и сравнить с бинарником - отличий никаких. Ресет после этого уже не помогает
Firelander
16.06.2017
08:26:26
Мож буты не пропаяны на стмке
Кирилл Gessor
16.06.2017
08:26:26
Может я действительно куда-то не в ту область памяти шью?
Две разные платы. Не две одинаковые и разные, а абсолютно разные
Google
Firelander
16.06.2017
08:27:26
Или кварец запуститься не может за установленное время
Кирилл Gessor
16.06.2017
08:27:26
Вроде шью в 0х08нули
С тактированием игрался, но тоже только в SPL
Ставил и работу просто от HSE и 72 МГц и вообще не задавал значений и запускал от HSI
Petr
16.06.2017
08:31:07
бут-селект джамперы в каких положениях?
Кирилл Gessor
16.06.2017
08:31:19
Делал задержку перед запуском ШИМ, тоже без результата. Самое что интересное, на discovery с f100 все ок
Firelander
16.06.2017
08:31:32
Имхо непропай
Кирилл Gessor
16.06.2017
08:32:10
в SPL надо что-то крутить по части загрузки?
Byte
16.06.2017
08:32:40
Не, дефолты ОК.
Кирилл Gessor
16.06.2017
08:32:53
Имхо непропай
Я тестил это на трёх платах. Двух китайских как на видео и одной своей разведенной под такой же контроллер
Два дня уже пытаюсь понять в чем дело
Firelander
16.06.2017
08:37:19
Ну только если проект выложишь
Google
Кирилл Gessor
16.06.2017
08:44:52
Ну могу выложить. Он в иаре
Danil
16.06.2017
08:56:14
На экран по какой шине данные?
Кирилл Gessor
16.06.2017
08:57:27
Danil
16.06.2017
08:58:15
Окей тогда вопрос, к бутам, и проекту
metaclass
16.06.2017
09:51:12
в Timer2_PWM_Init не все поля структур инициализируются. Это наверно нехорошо?
GPIO_InitTypeDef GPIO_InitStructure; -> GPIO_InitTypeDef GPIO_InitStructure = {0}; для единообразия бы
все структуры занулить по умолчанию, чтобы оно заведомо себя всегда одинаково вело.
у TIM_TimeBaseInitTypeDef и TIM_OCInitTypeDef там еще много полей, которые могут быть заполнены непойми чем на стеке
после программирования стейт в RAM один, после power cycle другой
и гамон
Firelander
16.06.2017
09:55:01
Занулять структуры не надо, надо вызывать спец функцию инициализации, нулевые поля не далеко не всегда верные в spl
metaclass
16.06.2017
09:55:46
а, да
TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
TIM_TimeBaseStructure.TIM_Prescaler = SystemCoreClock /100000 - 1; // 0..239
TIM_TimeBaseStructure.TIM_Period = 1000 - 1; // 0..999
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2 , &TIM_TimeBaseStructure);
Firelander
16.06.2017
10:37:09
бинарник прошил - эффект повторяется. Собрал кейлом - нет такого
Кирилл Gessor
16.06.2017
10:37:50
Вот меня давно мучает мысль уйти на кейл
Потому что иар это боль
Firelander
16.06.2017
10:38:04
хотя я не совсем все файлы брал
Кирилл Gessor
16.06.2017
10:38:56
Я только что попробовал добавить одно поле в структуре по вышепредложенному совету: CounterMode_up
Теперь 50/50
То работает, то нет
Google
Кирилл Gessor
16.06.2017
10:39:47
Только полярность поменялась в режиме "не работает"
Firelander
16.06.2017
10:43:04
в режиме "не работает" кстати импульсы есть. Просто длина 40us а частота 60 с чем-то герц
попробуй проинициализировать все структуры нормально
Кирилл Gessor
16.06.2017
10:49:08
попробуй проинициализировать все структуры нормально
Да, наверно надо делать все по новой и самостоятельно. Это был пример из интернета. Просто странно, что он на одном контроллере работал стабильно, а на другом тоже работает, но только после прошивки без отключения питания
И странно, что он все таки нормально работал в кейле
Firelander
16.06.2017
10:50:33
и функцию для OC структуры
timerPWM.TIM_OCMode= TIM_OCMode_PWM2;
timerPWM.TIM_OutputState= TIM_OutputState_Enable;
timerPWM.TIM_OutputNState= TIM_OutputNState_Disable;
timerPWM.TIM_Pulse= 160;
timerPWM.TIM_OCPolarity= TIM_OCPolarity_Low;
timerPWM.TIM_OCNPolarity= TIM_OCNPolarity_Low;
timerPWM.TIM_OCIdleState= TIM_OCIdleState_Set;
timerPWM.TIM_OCNIdleState= TIM_OCIdleState_Reset;
TIM_OC4Init(TIM2, &timerPWM);
попробуй так короче
Кирилл Gessor
16.06.2017
10:59:15
Vagiz
16.06.2017
10:59:55
metaclass
16.06.2017
11:00:35
да, иначе там в тех полях, которые ты не трогал, будет мусор из RAM
Firelander
16.06.2017
11:00:48
Кирилл Gessor
16.06.2017
11:07:00
Спасибо, парни! Если просто закомментировать эту начальную функцию, то сразу работает неправильно, как было на видео. Стоит раскомментить и работает как надо. Но я только только начинаю погружаться в стм и си в том числе, так что даже в голову такое придти не могло)
metaclass
16.06.2017
11:12:06
это сугубо из категории "забыли проинициализировать переменную". Кстати, я не помню, не должен ли компилятор ворнинг кидать на такое?
Firelander
16.06.2017
11:12:48
metaclass
16.06.2017
11:15:41
-Wmissing-field-initializers, Which is NOT enabled by default, but part of -Wextra
правда походу оно больше чем надо ругается.
Danil
16.06.2017
13:01:45
есть же стандартный DeInit для всех структур в SPL
многие на него забивают а зря
Google
Danil
16.06.2017
13:01:45
во всех прмерах он есть
Obiwan
17.06.2017
06:53:45
ку
Felix
19.06.2017
06:44:53
забаньте этого пидараса, пожалуйста
где только уже не успел отметиться
Driver
19.06.2017
06:45:19
++
shadowsoul
19.06.2017
06:45:22
@Byte_kgd неси банхаммер
Felix
19.06.2017
06:45:23
@Byte_kgd
@TehDmitry
где-то был бот для совместного голосования
ОлегЪ
19.06.2017
06:55:58
Бота-голосовалку с плюсометом надо, в каком то чятике уже видел
Felix
19.06.2017
06:56:13
Serg
19.06.2017
07:10:19
Чем этот датчик "солнечной радиации" за 500 баксов отличается от любого датчика освещенности за 50 ?
https://ru.aliexpress.com/item/BELLA-TBQ-total-solar-radiation-sensor-radiation-meter-radiometer-radiation-manufacturers-The-0-20MA-voltage/32213356294.html?spm=2114.41010208.4.64.fATL7Q
Spanish
19.06.2017
07:10:25
Очищенные ссылки от Serg Sapov :
* https://aliexpress.com/item/BELLA-TBQ-total-solar-radiation-sensor-radiation-meter-radiometer-radiation-manufacturers-The-0-20MA-voltage/32213356294.html
kaktys
19.06.2017
07:12:03
этим ?
Operating Temperature -50 ~+80;
Humidity 0%~100% RH
Serg
19.06.2017
07:13:22
это не проблема для датчика за 50 баксов
-50 никому не нужно
стандартных -40 достаточно
kaktys
19.06.2017
07:14:32
вот между -40 и -50 разница и есть
Serg
19.06.2017
07:14:44
да не в этом суть
Google
kaktys
19.06.2017
07:16:04
калиброванный может еще
Serg
19.06.2017
07:16:07
вот уже -40
https://ru.aliexpress.com/item/0-20mv-Voltage-Signal-Solar-Radiation-Sensor-for-Solar-Radiation-Energy-Measurement-Sun-Total-TBQ-Radiation/32814900902.html?spm=2114.03010208.3.30.vyubCb&ws_ab_test=searchweb0_0,searchweb201602_1_10152_10065_10151_10208_10068_10136_10137_10060_10155_10062_437_10154_10056_10055_10054_5300016_10059_303_100031_10099_10103_10102_10096_10052_10053_5320016_10142_10107_10050_10051_10170_10084_10083_10119_10080_10082_10081_10110_519_10111_10112_10113_10114_10182_10078_10079_10073_10123_10120_10189_10127_142_10125-10120,searchweb201603_16,ppcSwitch_5&btsid=9801e6c2-1555-412d-bd05-59be32d2d1b3&algo_expid=c017ab75-2167-4b92-ad88-56287cec9e32-4&algo_pvid=c017ab75-2167-4b92-ad88-56287cec9e32
то китаец ошибся в -50
Spanish
19.06.2017
07:16:34
Очищенные ссылки от Serg Sapov :
* https://aliexpress.com/item/0-20mv-Voltage-Signal-Solar-Radiation-Sensor-for-Solar-Radiation-Energy-Measurement-Sun-Total-TBQ-Radiation/32814900902.html
Serg
19.06.2017
07:16:38
ничего "калибровать" не надо
kaktys
19.06.2017
07:19:07
ну хз, индустриальные датчики всегда бабла стоили, это не ардуина
Serg
19.06.2017
07:23:34
вот промышленный за 50 баксов