17.12.2019, 22:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,630
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от MikeF
|
прерывание только "крутит" счетчик и служит флагом что можно отправлять следующие байты.
|
Смысл?
Если мы на супермедленной 9600 передаем, грубо говоря, 960 байт, то отправка будет длиться не меньше секунды! А с таким подходом - выставляя флаги - и того больше. Т.е. на эту секунду все "замрет", кроме того, что через прерывания работает.
Нельзя так.
Если же отправка буфера будет идти через прерывания непосредственно (лучше, конечно, через DMA, но он только в STM8L есть), то таких зависонов не будет, и в основном цикле работа будет помаленьку продвигаться.
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
17.12.2019, 23:13
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,044
Сказал спасибо: 2,559
Сказали Спасибо 11,882 раз(а) в 5,959 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от eddy
|
Если же отправка буфера будет идти через прерывания непосредственно (лучше, конечно, через DMA, но он только в STM8L есть), то таких зависонов не будет, и в основном цикле работа будет помаленьку продвигаться.
|
Почему "помаленьку"? Совсем-таки наоборот. Чуть только задержки на пересылку байта из буфера в УАРТ и обновление "счетчиков".
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
18.12.2019, 15:08
|
|
Прописка
Регистрация: 14.04.2005
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
|
Re: FAQ по STM8
Согласен, у меня просто небольшое кол-во данных передается и редко, поэтому проблема не стоит. Но на будущее присматриваюсь.
|
|
|
|
20.12.2019, 12:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,630
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: FAQ по STM8
Сегодня столкнулся со странной штукой: МК сгорел от "недонапряжения". Сделал поделку на основе девборды на STM8S103. Она втыкается в другую плату, где 5В получается при помощи LM1117-5.0 от 12В. Спаял, проверил LM-ку — ОК. Ну, сдуру взял и выкрутил у БП напругу на 0. Воткнул девборду, включил БП и стал увеличивать питание. И где-то на 4-5В пошел "волшебный дым". Сгорела набортная "кренка" девборды и "кренка" на моей плате. Поменял на своей, прозваниваю девборду - там тоже закорочено, выпаял "кренку" — все равно закорочено. Т.е. МК сдох, закоротив питание на землю.
Весело, однако. Не встречал такого еще...
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
20.12.2019, 12:33
|
|
Прописка
Регистрация: 14.04.2005
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
|
Re: FAQ по STM8
Защитные диоды на кренках были?
|
|
|
|
20.12.2019, 15:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,630
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: FAQ по STM8
Зачем там защитные диоды? Никогда не встречал подобного...
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
20.12.2019, 15:25
|
|
Прописка
Регистрация: 14.04.2005
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от eddy
|
Зачем там защитные диоды? Никогда не встречал подобного
|
Чтобы не горело в любом даташите нарисованы.
|
|
|
|
20.12.2019, 16:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,630
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: FAQ по STM8
MikeF, ткни в меня картинкой. У меня три даташита на разные "кренки", везде только по кондеру с каждой стороны нарисовано — и все!
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
20.12.2019, 17:28
|
|
Прописка
Регистрация: 14.04.2005
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от eddy
|
LM1117
|
Возможно я несколько погорячился про любой даташит, сейчас порылся, действительно не везде есть, но на эту микрушку нарисован http://pdf.dom.elitan.ru/0/1/5/1/4/01514423.pdf
Вот тут даже с объяснениями http://pdf.dom.elitan.ru/0/4/5/5/0/04550468.pdf
Последний раз редактировалось MikeF; 20.12.2019 в 17:32.
|
|
|
|
26.02.2020, 13:28
|
|
Прописка
Регистрация: 14.04.2005
Сообщений: 116
Сказал спасибо: 12
Сказали Спасибо 18 раз(а) в 12 сообщении(ях)
|
Re: FAQ по STM8
На днях решил добавить немного красоты в код и использовать пользовательский тип из стандартного stm8s.h файла:
Код:
|
typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus, BitStatus, BitAction; |
В прерывании по сбоям в HSE решил применить SET:
Код:
|
INTERRUPT_HANDLER(CLK_IRQHandler, 2)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
if((CLK-›CSSR & CLK_CSSR_CSSD) == SET){
CLK-›CSSR &= ~CLK_CSSR_CSSD;//сбрасываем бит детекта
CLK-›CKDIVR=0x00; //16MHz на HSI
}
return;
} |
И столкнулся с тем, что в прерывание захожу, но условие почему-то ложно - однако при входе в прерывание (CLK-›CSSR & CLK_CSSR_CSSD) = 8 по факту, проверил с помощью доп. переменной.
Если условие переписать как:
Код:
|
if((CLK-›CSSR & CLK_CSSR_CSSD) == CLK_CSSR_CSSD) |
или так:
Код:
|
if((CLK-›CSSR & CLK_CSSR_CSSD) ) |
то под if всё прекрасно выполняется.
Не то что бы у меня самоцель использовать эти SET, RESET и прочие DISABLE, но просто интересно что не так, ведь 8!=0 значит должен SET сработать, да и работает в ST примерах.
Для проверки сделал в main небольшой блочек с if (var == SET), норм. работает.
Работаю в STVD+Cosmic.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:05.
|
|