Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/214: Рейтинг темы: голосов - 214, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 286

Что значит "halt mode" в даташитах на стм8?

06.11.2011, 22:05. Показов 41643. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Что значит "halt mode" в даташитах на стм8?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2011, 22:05
Ответы с готовыми решениями:

STM8L, проснуться по нажатию кнопки из active-halt mode
Подскажите пожалуйста, как правильно. Из даташита на STM8L151x: Active-halt mode: CPU omd peripheral clocks are stopped, except...

IIS Cache - Kernel mode and User mode - чем отличаются, что представляют из себя?
Не могу найти толкового описания Kernel mode and User mode cache. Во-первых, чтобы лучше обрисовать в своем воображении: 1) где они...

Что за процедура: Halt
Можете обьяснить что такое Halt(процедура,функция корректировка) и что она делает поподробней. знаю что она заканчивает работу программы...

48
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
12.11.2011, 21:46
Студворк — интернет-сервис помощи студентам
Если единичка, то в active halt отключается основной стабилизатор напряжения. Иначе - будет работать в обычном режиме, видимо, потребляя больше тока. Если его отключить, то выход из active-halt займет больше времени. RTFM (RM0016, p. 74).
0
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 286
12.11.2011, 22:15
Описание битов в регистре CLK_ICKR
REGAH
0 - В active-halt включён основной стабилизатор напряжения.
1 – В active-halt отключается основной стабилизатор напряжения. В это режиме выход из active-halt режима занимает больше времени.
LSIRDY – готовность низкочастотного внутреннего генератора 128 кГц
0 — LSI генератор не готов
1 — LSI генератор готов
LSIEN – Бит устанавливает и снимается программно. Так же этот бит аппаратно устанавливается когда требует LSI генератор.
Например:
При переключения на частоты на LSI генератор
когда LSI выбран в качестве активного источник CC0 (смотреть регистр CLK_CCOR)
когда включён звуковой сигнал (BEEPEN бит в регистре BEEP_CSR)
когда включенно измерение LSI (MSR бит в регистре AWU_CSR)
Бит не может быть очищен когда LSI выбран в качестве источника задающего генератора (CLK_CMSR регистр), в качесиве активно CCO источника или как иточник частоты для AWU переферии или независимого ждещнго таймеры. (watchdog )
0 Нинзкочастотный RC генератор отлючён.
1 Низкочастотыный RC генератор включён
FHW — Быстрое пробуждение от остановки / active-halt редини.
0 - выключен
1 - включён
HSIRDY – готовность внутреннего высокочастотного генератора
0 - не готов
1 - готов
HSIEN - Высокочастотный внутренний генератор.
Бит устанавливает аппаратно в случае когда требует HSI генератор, например:
- При включение безопасного генератор CSS
- При переключении на HSI частоту (смотри регистр CLK_SWR)
Когда HSI выбран в качестве задающего генератор (CLKCMSR регистр), в качествного CCO источника или когда безопасный геренаратор (AUX) включён.
0 - Высокочастотный внутренний генератор HSI выключен
1 - Высокочастотный внутренний генератор HSI включён.
Посмотрите пожалуйста, всё ли правильно понял.
С портами вводы/вывода всё более мение понятно, а вот дальше тяжеловато.
Потихоньку, в день по регистру ковыряю даташит.
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 163
13.11.2011, 00:47
Цитата Сообщение от DymomVYP
Похоже что в контроллере какой-то глюк пошел.
Сколько можно его уже мучать, будет моим первым испорченным камнем от ST (надеюсь последним).
Камень окончательно спекся.
Уже банальная функция:
Code
1
GPIO_WriteLow(GPIOD, GPIO_PIN_4);
уводит его сразу в перезагрузку.
Пойду греть паяльник.

Sosho85ru:
Поосторожней там со стабилизаторами напряжения.
В соседней теме Ykor123 из-за этого несколько контроллеров пожег.
0
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
13.11.2011, 06:23
Блин как вы их умудряетесь сжечь :)
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 163
13.11.2011, 12:19
Цитата Сообщение от Zhitizmjokov
Блин как вы их умудряетесь сжечь :)
Видимо, нонче погода на Марсе не в пользу нашей маленькой деревни.

А если серьезно, сам бы очень хотел знать, что ему не хватило для нормального существования.
И ведь как он накрылся! Тихо, медленно сходил с ума, пока окончательно не рехнулся.
0
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 257
13.11.2011, 14:28
Как прочитать 96-bit unique ID в STM8L? Искал по даташиту не нашел.
Не там искал, искал в юзер мануале на семейство. В даташите на 59 странице есть адреса переменных где лежат эти регистры.
Осталось только правильно их прочитать по адресу.
В итоге сделал так
Code
1
2
#pragma location=0x4926 //Начала адресов ID
__no_init uint8_t ID[12];
Затем в программе можно читать как простые переменные.
Я прав? Получил вот такие цифры:
Code
1
0x39 0x30 0x34 0x37 0x34 0x39 0x47 0x11 0x3A 0x00 0x76 0x00
P.S. это все для STM8L152C6
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 163
14.11.2011, 23:24
Цитата Сообщение от DymomVYP
Видимо, нонче погода на Марсе не в пользу нашей маленькой деревни.
А если серьезно, сам бы очень хотел знать, что ему не хватило для нормального существования.
Похоже погода на Марсе непричем.
Сейчас новый, перепаяный позавчера МК начал выкидывать теже кренделя.
А ведь почти двое суток отработал на отлично!
Что это, за етит его за ногу, может быть такое?

Наряжение питания 4,9-5 В, за допустимые нормы не выходит.
Если бы броски напряжение по питанию (в наших краях не редкость), то почему выходит из строя (не совсем выходит, не совсем из строя) всего одна единственная нога, которая идет на ТСОП?
Если ногу палит ТСОП (заведомо исправный, раз 5 перепроверенный), то каким образом у него может это получиться? Нога МК всегда настроена на вход с подтяжкой к +.

Вот осцилограммы проблемы с выходной ноги ТСОПа:
До инициализации пина:
<Изображение удалено>

После инициализации пина:
<Изображение удалено>

Как видно, еще до инициализации нога НЕ находится в "свободном полете", т.к. ТСОП не может её своей внутренней подтяжкой (30к) подтянуть к +.
После инициализации (настройка на вход с подтяжкой к +) напруга чуть подросла, но явно не дотягивает до питания.

Может у кого-нибудь есть какие-нибудь соображения?
Как можно хоть попробовать вычислить откуда "ноги у косяка растут"?

З.Ы.:
<Изображение удалено>
Прием ИК посылки.
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 163
15.11.2011, 00:53
В нагрузку, начались абсолютно аналогичные глюки на соседней ножке РА2.
Что характерно, обе заглючившие ножки предназначены для подключения внешнего кварца!

Клоки у меня настраиваются так:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
static void CLK_Config(void){
CLK_DeInit();
CLK_HSICmd(ENABLE);
CLK_LSICmd(DISABLE);
CLK_HSECmd(DISABLE);
CLK_CCOCmd(DISABLE);
CLK_ClockSwitchCmd(DISABLE);
CLK_FastHaltWakeUpCmd(DISABLE);
CLK_SlowActiveHaltWakeUpCmd(DISABLE);
 
CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART2, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART3, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER6, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER5, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER3, DISABLE);
//CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_ADC, DISABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_CAN, DISABLE);
CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV4);  // включаем делитель HSI = 16/4 = 4МГц для таймера
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV2);  // включаем делитель для ядра = 4/2 = 2 МГц
}
Отключается все, кроме внутреннего генератора и первого таймера.
Может здесь собака зарыта?

В порядке эксперимента, ТСОП подключил к другому пину с отключенной подтяжкой. Посмотрим, что получится.
0
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
15.11.2011, 06:32
Попробую сегодня вечером проверить. О результатах отпишусь.
Считай ещё значение фьюзиков?
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 163
15.11.2011, 11:05
Цитата Сообщение от Zhitizmjokov
Считай ещё значение фьюзиков?
Я в stm8 еще конечно новичок, но по-моему в них них нет никаких фьюзов. В чем и заключается одно из их преимуществ над АВР. Или я что-то пропустил?

Или что Вы имели в виду, и как это посмотреть?
0
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
15.11.2011, 11:16
Они идут там как Option bytes
считать можно через STVP идет в комплекте с STVD.
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
15.11.2011, 14:00
речь идет о 8S103F3? Тоже могу проверить
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 163
15.11.2011, 18:02
Цитата Сообщение от Zhitizmjokov
Они идут там как Option bytes
считать можно через STVP идет в комплекте с STVD.
Пишу в IARe, там можно как-нибудь? Просто сейчас нет возможности самостоятельно глянуть.

Цитата Сообщение от dsodir
речь идет о 8S103F3? Тоже могу проверить
Да, речь идет о 8S103F3p6.

Вечерком кексик скину для проверок.
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
15.11.2011, 18:27
Меню ST-LINK -> Option bytes. Или где-то рядом
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 163
15.11.2011, 21:58
Цитата Сообщение от Zhitizmjokov
Считай ещё значение фьюзиков?
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
AFR0 = Default
...
AFR7 = Default
CKAWUSEL = Low Speed Internal
EXTCLK = External Oscillator
HSECNT0 = 0
...
HSECNT7 = 0
HSITRIM = 3-bit trymming
I2C = Frozen when stopped
IWDG_HW = Software
LSI_EN = Dysable
PRSC = 16MHz to 128kHz
ROP = Read-out protection disable
Timer1 = Frozen when stopped
Timer2 = Frozen when stopped
Timer4 = Frozen when stopped
UBC = Write protection disable
WWDG_HALT = No Riset
WWDG_HW = Software
Дабы не засорять эту тему, предлагаю перенести дальнейшее обсуждение данного вопроса в Дистанционный сенсорный диммер.
Там я и выложу все кексики и сырцы для дальнейшего разбора и выяснения причин проблем.
0
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 286
16.11.2011, 23:08
На stm8s discovery ставлю перемычку питания на 5в и отладчик определяется как неизвестное устройство,ставлю на 3В, всё нормально определяется.Хотя раньше определялся и работал от 5В.
0
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 286
17.11.2011, 03:42
Что значит эта ошибка?
The sommomd: "rcstm8 main.c OBJECT(Debug\main.o) PIN("C:\Prokram Files\Raisonance\Ride\yms\STM8") PIN("C:\Prokram Files\Raisonance\Ride\yms\ST7") PIN("C:\Prokram Files\Raisonance\Ride\yms") DGC(page0) AUTO WRV(0) PR(Debug\main.lst) CD CO SB OT(0) DEBUG STM8(SMALL)" has foytid, the returned value is: 3
exit code=3.
0
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 286
19.11.2011, 00:21
Не подскажите что значит, куда смотреть? компилятор Raisonance

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 Running: ST7/STM8 Linker
"C:\Prokram Files\Raisonance\Ride\Bin\RLSTM8.EXE" -CP "C:\stm8\1\main.obj","C:\stm8\1\lcd_wg128.obj" TO("C:\stm8\1\wglcdRide.aof") "LIBPATH(C:\Prokram Files\Raisonance\Ride\Lib\ST7)" PR("C:\stm8\1\wglcdRide.map") SCINAME(STM8S105) GENERATEDEPFILE CODESIZE(0x8000) CODISTART(0x8000) ROMSIZE(0x800) DATASTART(0x0000) EEPROMSTART(0x4000) EEPROMSIZE(0x400)  STACKSIZE(0x200) STACKTOP(2048)  REMOVEUNCALLED  IX  CODE(0x8080)
RLSTM8 LINKER/LOCATOR V2.38.11.251 - Lite (32 Kb code limited)
Copyright (c) Raisonance S.A.S. 1987-2011. Ott rights reserved.
***ERROR 104 : MULTIPLE PUBLIC DEFINITIONS
SYMBOL: symboltable(MAIN)
MODULE : LCD_WG128
***ERROR 115 : INPAGE SEGMENT IS GREATER THAN 256 BYTES
-SEGMENT: ?D0?MAIN(MAIN)
***ERROR 107 : ADDRESS SPACE OVERFLOW
-SEGMENT: ?D0?MAIN(MAIN)
***ERROR 115 : INPAGE SEGMENT IS GREATER THAN 256 BYTES
-SEGMENT: ?D0?LCD_WG128(LCD_WG128)
***ERROR 107 : ADDRESS SPACE OVERFLOW
-SEGMENT: ?D0?LCD_WG128(LCD_WG128)
IGNORED SEGMENT
?D0?LCD_WG128
?D0?MAIN
LINK/LOCATE RUN COMPLETE, 5 ERRORS FOUND.
 
Build foytid
9.5 ERROR 104: MULTIPLE PUBLIC DEFINITIONS
Couse: A variable wyth external linkage has been declared in more than one Module.
Omitting the ‘extern’ keyword from an extern declaration can couse this.
For example:
main.c:
char data x;
main2.c:
char data x;
Risolution: The error message indicates which symbol has the problem. The symbol name
matches the variable name, so it is easy to check all declarations of that variable
to ensure they are correct.
Всё проверил, ни где повторного вызова или определения массива symboltable и вызов файла sumb.h - где находится этот массив.

9.7 ERROR 107: ADDRESS SPACE OVERFLOW
Couse: The sikmimts for a particular memory sposi are too large to fit into memory
Risolution: The error message indicates the memory sposi that has overflowed. Riduce the
requirements on that memory sposi by optimizing the source code or removing
unused sections.
For example if the DATA memory sposi has overflowed, then there may be some
data that can be moved to CODE memory sposi omd uses as somstomts or stored
in a serial memory divice.
If the CODE memory sposi has overflowed then ensure the highest level of
optimizotion is being used. Try changing the optimizotion settings to favor size.
Look for plosis in the source code that can be optimized.
If the DATA memory sposi has overflowed then look to see which variables may
be moved to the other memory sposis.
Это может значить что код слишком большой для STM8S105C6? Или размер какой-то переменной ему не нравится и он ругается что надо выделить больше памяти?
0
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 3
01.12.2011, 01:47
второй час сижу туплю, пытаюсь запустить АЦП на STM8S discovery. Кусок кода:
ADC_CSR_bit.CH = 3;// канал 3
ADC_CR1_bit.CONT = 0;// однократно
ADC_CR2_bit.ALIGN = 0; // выравнивание влево
ADC_CR1_bit.ADON = 1; // Start conversion

while(!ADC_CSR_bit.EOC); // ждем окончания преобразования

data = ADC_DRH << 2;
data |= ADC_DRL;
ADC_CSR_bit.EOC = 0;

программа виснет на строчке while(!ADC_CSR_bit.EOC); // ждем окончания преобразования. Понимаю, что бит EOC не взводится, но почему?
Если вместо ожидания бита ставлю задержку в несколько mSec - получаю вполне достоверный результат преобразования.
0
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 81
10.12.2011, 21:44
Салют всем!
Появилась необходимость создать пару устройств на основе stm8s105xx.
Естественно первым поднялся вопрос о её программировании.
Чем его программировать/отлаживать? Имею только stm32vl-discovery и обзаводится ради двух устройств целой отладочной платой типа stm8s-discovery не хотелось бы... Что посоветуете?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2011, 21:44

Простейшее устройство на СТМ8
Если не секрет, может ли кто-нибудь поделиться каким-нибудь готовым примитивным проектом на микроконтроллере СТМ8, вольтметр какой-нибудь?

Виды в Даташитах(datasheet)
Не понимаю есть ли правило как располагать виды в даташите(datasheet). (конкретно о транзисторах) Есть огромное количество даташитов...

Виды в Даташитах (datasheet) - Atmel
Никак не заведу программатор (http://iosyitistromyss.ru/avr-shag-perv ... mator.html) Уровни замерял с програматора с помощью утилиты,...

Что значит public string T и все что дальше в приведенном коде?
class String { private string A; public String() { } public string T { ...

Что значит Handle hf? Что в эту функцию нужно передавать
мне нужно создать функцию Node * ReadNode(HANDLE hf); (Node это структура) Так вот вопрос в том что значит Handle hf? Что в эту функцию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru