Программирование STM8

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Родился
Сообщения: 1
Зарегистрирован: Вт сен 14, 2021 05:29:16

Сообщение isorport »

Народ, кто имел опыт программирования STM8 на ассемблере под IAR? Если с сегментацией в STVD все понятно, т.к. есть нормальное описание, то IARовская SECTION это какой-то темный лес, даже после прочтения IAR Assembler Reference Guide. Никаких явных предопределений в IAR тоже не нашел, но это не проблема, отберу у STVD и подшаманю. Самая главная проблема - правильно разбить код на сегменты, ORG не работает гад.
Реклама
Родился
Сообщения: 4
Зарегистрирован: Вс сен 19, 2021 14:58:21

Сообщение GrV864 »

Здравствуйте. Имеется такая схема ,потерял термодатчик. Подскажите марку этого термодатчика. Спасибо.
Вложения
nkggq2jfx.png
(22 КБ) 235 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3795
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

[uquote="isorport",url="/forum/viewtopic.php?p=4091041#p4091041"]кто имел опыт программирования STM8 на ассемблере под IAR?[/uquote]Я разработал тестовый проект для STM8 на ассемблере под IAR лет 10 назад. С тех пор прошло много времени и я с этими МК дел более не имел и практически всё забыл. Однако, проект остался, если интересно, могу прислать в ЛС. Там, в частности, можно посмотреть как сегменты определены.
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

[uquote="GrV864",url="/forum/viewtopic.php?p=4093655#p4093655"]Подскажите марку этого термодатчика[/uquote]
Эта универсальная плата индикации в прибор на динрейку, датчики подключаются разнообразные (зависит от прошивки) - DS18B20, KTY84, термопара, HIH...
СпойлерИзображение
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 4
Зарегистрирован: Вс сен 19, 2021 14:58:21

Сообщение GrV864 »

[uquote="oleg110592",url="/forum/viewtopic.php?p=4093950#p4093950"][uquote="GrV864",url="/forum/viewtopic.php?p=4093655#p4093655"]Подскажите марку этого термодатчика[/uquote]
Эта универсальная плата индикации в прибор на динрейку, датчики подключаются разнообразные (зависит от прошивки) - DS18B20, KTY84, термопара, HIH...
СпойлерИзображение
[/uquote]
А как узнать какая прошивка ,и какой прописан,я так понимаю не реально? Подключил ds18b20, так пока пальцем не дотронишься к ноге vdd работает,отпускаешь ошибка. У меня это терморегулятор Dalas 40 A.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

Схема в режиме ”паразитного питания” позволяет подключить термодатчик к микроконтроллеру всего двумя проводами
Изображение
з.ы. резистор уже внутри прибора
Реклама
Родился
Сообщения: 4
Зарегистрирован: Вс сен 19, 2021 14:58:21

Сообщение GrV864 »

[uquote="oleg110592",url="/forum/viewtopic.php?p=4094192#p4094192"]Схема в режиме ”паразитного питания” позволяет подключить термодатчик к микроконтроллеру всего двумя проводами
Изображение
з.ы. резистор уже внутри прибора[/uquote]
Почему тогда не работает. Пишет ерор.
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

по картинкам через гуглопоиск "Dalas 40 A" по двум проводам, датчик в термоусадке (может там резистор размещают, под термоусадкой).
На сколько помню именно у этого производителя была проблема с дс18б20 - попались без паразитного питания. Ставил диод и конденсатор
Изображение
з.ы. это вообще то офтоп в теме - надо модератора просить удалить
Родился
Сообщения: 4
Зарегистрирован: Вс сен 19, 2021 14:58:21

Сообщение GrV864 »

[uquote="oleg110592",url="/forum/viewtopic.php?p=4094208#p4094208"]по картинкам через гуглопоиск "Dalas 40 A" по двум проводам, датчик в термоусадке (может там резистор размещают, под термоусадкой).
На сколько помню именно у этого производителя была проблема с дс18б20 - попались без паразитного питания. Ставил диод и конденсатор
Изображение
з.ы. это вообще то офтоп в теме - надо модератора просить удалить[/uquote]
Резистора под термоусадкой не было,он у меня как то отпадал,я его прираивал. Там было три ножки,одна из них обломана. На две провода.
Мучитель микросхем
Сообщения: 418
Зарегистрирован: Вс апр 17, 2011 09:51:26
Откуда: Тула

Сообщение kvn234 »

Приветствую всех!
Пытаюсь разобраться с ADC STM8L151.
Пробовал выполнить чтение 4х каналов с использованием DMA, были проблемы с синхронизацией - решил.
Но смущает низкая точность измерения 12 разрядного ADC. Решил проверить в режиме одиночного преобразования 4х каналов.
Входы 4х каналов соединены и на них подано напряжение с батарейки. При этом наблюдаются значительные расхождения между каналами и показания скачут.
Напряжение питания стабилизировано и меняется незначительно, что видно по измерениям канала внутреннего ИОН.
Изображение
Спойлерvoid init_adc(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);

ADC_DeInit(ADC1);

Vrefint = *Factory_VREFINT;
Vrefint += 0x600;

ADC_Init(ADC1, ADC_ConversionMode_Single, ADC_Resolution_12Bit,ADC_Prescaler_2);
ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);
ADC_SamplingTimeConfig(ADC1, ADC_Group_FastChannels, ADC_SamplingTime_384Cycles);

/* Disable the specified ADC DMA request */
ADC1->SQR[0] |= ADC_SQR1_DMAOFF;

ADC1->CR1 |= ADC_CR1_ADON;
}
//------------------------------------------------------------------------------------
uint16_t GetChannel(ADC_Channel_TypeDef Channel)
{
uint32_t res;
uint16_t i;

ADC_ChannelCmd(ADC1, Channel, ENABLE);
ADC_SchmittTriggerConfig(ADC1, Channel, DISABLE);

for(i=0x00ff; i ; i--);

ADC1->CR1 |= ADC_CR1_START;
while (!(ADC1->SR & ADC_FLAG_EOC));
res = ADC_GetConversionValue(ADC1);

ADC_ChannelCmd(ADC1, Channel, DISABLE);

return (uint16_t)res;
}
Каналы записываются в массив и передаются на компьютер.
Спойлерwhile (1)
{

buf_dma_adc [0] = GetChannel(ADC_Channel_0);
buf_dma_adc [0] = GetChannel(ADC_Channel_0);
buf_dma_adc [1] = GetChannel(ADC_Channel_1);
buf_dma_adc [2] = GetChannel(ADC_Channel_2);
buf_dma_adc [3] = GetChannel(ADC_Channel_4);
buf_dma_adc [4] = GetChannel(ADC_Channel_Vrefint);

out_usart();
Еще один момент. Если убрать повторное считывание 0 канала, то считываются данные с ADC_Channel_Vrefint.

Подскажите где у меня ошибка, не верится чтобы 12 разрядный ADC выдавал такие погрешности.

Или возможно дефектный микроконтроллер.

Опыт программирования AVR имею, с STM8 много не работал.
Собутыльник Кота
Аватара пользователя
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Сообщение ПростоНуб »

kvn234, Я бы начал с внимательного чтения AN3137, так как причин такого поведения может быть очень много.
Мучитель микросхем
Сообщения: 418
Зарегистрирован: Вс апр 17, 2011 09:51:26
Откуда: Тула

Сообщение kvn234 »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=4166446#p4166446"]kvn234, Я бы начал с внимательного чтения AN3137, так как причин такого поведения может быть очень много.[/uquote]

Для примера назовите 1-2 причины.

С учетом следующего:
- напряжение питания стабильное о чем говорит стабильные показания channel VREFINT (ADCRef);
- по короткому проводу на все 4 канала подано напряжения от одной батарейки при этом показания на четырех каналах разные и скачут не синхронно в разные стороны
Собутыльник Кота
Аватара пользователя
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Сообщение ПростоНуб »

kvn234, 1. Требуется калибровка из-за наличия ошибки смещения.
2. Нестабильность частоты тактового генератора
3. Слишком высокая частота семплирования
4. Недостаточная пауза для стабилизации перед началом конвертации
Пока хватит?
Мучитель микросхем
Сообщения: 418
Зарегистрирован: Вс апр 17, 2011 09:51:26
Откуда: Тула

Сообщение kvn234 »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=4166546#p4166546"]kvn234, 1. Требуется калибровка из-за наличия ошибки смещения.
2. Нестабильность частоты тактового генератора
3. Слишком высокая частота семплирования
4. Недостаточная пауза для стабилизации перед началом конвертации
Пока хватит?[/uquote]

1. Причем тут ошибка смещения. Проблема в том , что показания скачут, а не имеют ошибку смещения.
2. Поменял контроллер - проблема осталась. Да и USART работает без сбоев (принимаю на комп).
3. Частота RC генератора 16МГц. Затем стоит делитель на 8. Итого 2МГц.
4. Посмотрите мое сообщение. Я привел функции инициализации и чтения по ним видно что частоты минимальные, а задержки максимальные. Я так же в цикл вносил задержки, но положительного эффекта не получил.
Мучитель микросхем
Сообщения: 418
Зарегистрирован: Вс апр 17, 2011 09:51:26
Откуда: Тула

Сообщение kvn234 »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=4166546#p4166546"]kvn234, 1. Требуется калибровка из-за наличия ошибки смещения.[/uquote]

Если Вы не путаете с STM32, хотелось бы посмотреть на функцию калибровки.
Собутыльник Кота
Аватара пользователя
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Сообщение ПростоНуб »

kvn234, Я же явно с самого начала озвучил, какой документ почитать. В нем калибровка так же описана. И есть ссылки на исходники.
Мудрый кот
Сообщения: 1856
Зарегистрирован: Вт авг 15, 2017 10:51:13

Сообщение jcxz »

[uquote="kvn234",url="/forum/viewtopic.php?p=4166557#p4166557"]2. Поменял контроллер - проблема осталась. Да и USART работает без сбоев (принимаю на комп).[/uquote]Попробуйте почитать температурный сенсор. Если с него показания получаются стабильные (как и с Vref), то возможно что-то не так с питанием или разводкой внешних каналов.
Мучитель микросхем
Сообщения: 418
Зарегистрирован: Вс апр 17, 2011 09:51:26
Откуда: Тула

Сообщение kvn234 »

[uquote="jcxz",url="/forum/viewtopic.php?p=4167412#p4167412"][uquote="kvn234",url="/forum/viewtopic.php?p=4166557#p4166557"]2. Поменял контроллер - проблема осталась. Да и USART работает без сбоев (принимаю на комп).[/uquote]Попробуйте почитать температурный сенсор. Если с него показания получаются стабильные (как и с Vref), то возможно что-то не так с питанием[/uquote]
Но если показания Vref стабильные, разве это не говорит о стабильности питания?

Добавлено after 8 minutes 38 seconds:
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=4167378#p4167378"]kvn234, Я же явно с самого начала озвучил, какой документ почитать. В нем калибровка так же описана. И есть ссылки на исходники.[/uquote]
Вы теоретик или у Вас есть исходники функций? В интернете много информации но не всегда знаешь где искать нужную. Прочитал данную тему 90% общих рассуждений и сообщений "кто круче".
Собутыльник Кота
Аватара пользователя
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Сообщение ПростоНуб »

kvn234, я, по Вашему, что-ли должен открывать AN3137 и исходники, на которые он ссылается, и копировать избранное оттуда на этот форум, только потому, что Вам самому лениво?
Пока Вы не поймете, что здесь никто Вам ничего не должен, пользы от общения на этом форуме не получите. Лично я считаю бессмысленным обсуждать ADC в STM8L с человеком, категорически отказывающимся прочитать документ производителя именно об ошибках преобразования ADC в STM8L и о способах их минимизации. Причем ссылки на все исходники этот документ содержит.
Мучитель микросхем
Сообщения: 418
Зарегистрирован: Вс апр 17, 2011 09:51:26
Откуда: Тула

Сообщение kvn234 »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=4167561#p4167561"]kvn234, я, по Вашему, что-ли должен открывать AN3137 и исходники, на которые он ссылается, и копировать избранное оттуда на этот форум, только потому, что Вам самому лениво?[/uquote]
Можно дать ссылку на конкретную страницу.
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=4167561#p4167561"]kvn234,Пока Вы не поймете, что здесь никто Вам ничего не должен, пользы от общения на этом форуме не получите.[/uquote]
Если бы Вы прочитали мое сообщение, а не торопились показать свою крутизну, Вы бы поняли, что вопрос был не о точности измерений, а об их нестабильности. И я привел исходники не очень большие.
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=4167561#p4167561"]kvn234 Лично я считаю бессмысленным обсуждать ADC в STM8L с человеком, категорически отказывающимся прочитать документ производителя именно об ошибках преобразования ADC в STM8L и о способах их минимизации.[/uquote]

С чего Вы взяли, что я не читал данный документ?

Я Вас не просил отвечать. Я хочу получить ответы от человека который сталкивался с данной проблемой и нашел решение.
А такие теоретики засрали весь форум.
Последний раз редактировалось kvn234 Вт янв 25, 2022 11:28:46, всего редактировалось 1 раз.
Ответить

Вернуться в «Разные вопросы по МК»