STM32 новичку в ARM что к чему
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: STM32 новичку в ARM что к чему
с внутренним генератором... я бы кварц поставил и нет проблем
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: STM32 новичку в ARM что к чему
oleg110592 писал(а):с внутренним генератором... я бы кварц поставил и нет проблем
минимальная частота 0.9 для тиньки.
ЗЫ оффтоп
Re: STM32 новичку в ARM что к чему
demiurg301 писал(а):Подкажите - на STM32L реально получить потребление в <100мкА? Скорость не волнует - лишь бы UART стабильно работал
Среднее скорее да чем нет. Причем скорее всего и на атмеле тоже.
Обычно не работают на низких частотах тактирования. Кристалл тактируется внутренним генератором достаточно высокой частоты с быстрым пробуждением. В нужные моменты времени он делает нужные дела. Все остальное время спит. Такой подход оказывается более экономичным, чем снижать тактовую частоту.
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: STM32 новичку в ARM что к чему
Galizin писал(а):demiurg301 писал(а):Подкажите - на STM32L реально получить потребление в <100мкА? Скорость не волнует - лишь бы UART стабильно работал
Среднее скорее да чем нет. Причем скорее всего и на атмеле тоже.
Обычно не работают на низких частотах тактирования. Кристалл тактируется внутренним генератором достаточно высокой частоты с быстрым пробуждением. В нужные моменты времени он делает нужные дела. Все остальное время спит. Такой подход оказывается более экономичным, чем снижать тактовую частоту.
Нет, спящие режимы не катят , в том то и дело, надо с частотой 100 Гц контролировать состояние входов.
Так что надо именно 100 мкА(максимум 200) в активном режиме.
Re: STM32 новичку в ARM что к чему
demiurg301 писал(а):Нет, спящие режимы не катят , в том то и дело, надо с частотой 100 Гц контролировать состояние входов.
Так что надо именно 100 мкА(максимум 200) в активном режиме.
Обычно в таких случаях и используются спящие режимы. Прочитал состояние выводов - плюнул в USART и заснул. В спячке потребляет только usart. Посчитайте средний портебляемый ток при высокой частоте тактирования с переходом в спящий режим и при низкой тактовой без засыпания и сравните. Если непонятно как считать - пишите.
А по параметрам - в даташите (Не в reference manual!)все написано. Как программировать, наоборот, смотрите reference manual.
Re: STM32 новичку в ARM что к чему
Доброе время суток.
Мучаю сейчас STM32F4. У него имеется контролер FSCM с поддержкой интерфейса 8080/6800 для работы с памятью и LCD.
Может кто в курсе можно ли подключить к этому интерфейсу дисплей на контроллере KS0108.
Мучаю сейчас STM32F4. У него имеется контролер FSCM с поддержкой интерфейса 8080/6800 для работы с памятью и LCD.
Может кто в курсе можно ли подключить к этому интерфейсу дисплей на контроллере KS0108.
Только абсолютная пустота бездны принесёт мне покой.
Re: STM32 новичку в ARM что к чему
В принципе можно... только особого смысла в этом нет... из-за тормознутости данного дисплея...
"Я не даю готовых решений, я заставляю думать!"(С)
Re: STM32 новичку в ARM что к чему
HHIMERA писал(а):В принципе можно... только особого смысла в этом нет... из-за тормознутости данного дисплея...
Ну почемуже нет смысла. Насколько я понял можно перекыдывать данные напрямую, а неожидать в главном цикле.
А примерчик нельзя ?
Только абсолютная пустота бездны принесёт мне покой.
- amv2000
- Опытный кот
- Сообщения: 717
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: STM32 новичку в ARM что к чему
TRIOD писал(а):А примерчик нельзя ?
Здесь пример на STM32 http://en.radzio.dxp.pl/ks0108/
и здесь драйвер http://read.pudn.com/downloads196/doc/9 ... 32.c__.htm
Если запустите, отпишитесь о результатах, как сильно тормознутый?
-
TripleKill
- Вымогатель припоя
- Сообщения: 671
- Зарегистрирован: Вт июн 29, 2010 12:31:49
Re: STM32 новичку в ARM что к чему
Вопрос не имеет прямого отношения к STM, но всё же: кто-нибудь знает, как в кейле преобразовать float в строку (char[])?
Re: STM32 новичку в ARM что к чему
Заюзать sprintf...
"Я не даю готовых решений, я заставляю думать!"(С)
Re: STM32 новичку в ARM что к чему
возникла проблемма по подключению ИК TSOP1736 к STM32l.Прерывание несрабатывает,а точнее подал питание на TSOP сажу на ногу щелкаю пульт,нет прерывания.Беру убираю с ноги выход ТСОПа,прикасаюсь этим же выходом к ноге есть прерывание.
Может из-за того,что неподтянут резистор к ноге? питания ТСОП 3,6В. И какое нужно использовать к земле или к питанию?
Программа прерывание(PA0) тухнет светодиод(PA7).
Где можно глянуть,какое напряжение можно подавать на ногу,ведь не на каждую можно подавать 5В?
#include "stm32l1xx_gpio.h"
void Delay(uint32_t step);
int main()
{
RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN ;// подаем тактирование для перефирии.
SYSCFG->EXTICR[0] &= ~SYSCFG_EXTICR1_EXTI0_PA;
SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PA;
EXTI -> IMR |= EXTI_IMR_MR0; //устанавливаем прерывание
EXTI -> EMR |= EXTI_EMR_MR0;//устанавливаем событие
EXTI->RTSR |= EXTI_RTSR_TR0;
EXTI->FTSR |= EXTI_FTSR_TR0;
EXTI->SWIER |= EXTI_SWIER_SWIER0;
RCC->AHBENR |= RCC_AHBENR_GPIOBEN;
GPIOB->MODER |= GPIO_MODER_MODER7_0;
GPIOB->OTYPER &= ~GPIO_OTYPER_OT_7;
GPIOB->PUPDR &= ~GPIO_PUPDR_PUPDR7;
GPIOB->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR7;
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
GPIOA->MODER |= GPIO_MODER_MODER0_1;//настройка в альтернативный режим
GPIOA->OTYPER &= 0;//установка в пуш -ап
GPIOA->PUPDR |= GPIO_PUPDR_PUPDR1_1; // подтяжка сопротивления
GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR1;
NVIC_EnableIRQ(EXTI0_IRQn);
while(1)
{
GPIOB -> BSRRL =GPIO_Pin_7;//вырубаем светодиод
Delay(100000);
}
}
void EXTI0_IRQHandler(void)
{
GPIOB->BSRRH =GPIO_Pin_7;//врубаем светодиод
Delay(100000);
EXTI->PR |=EXTI_PR_PR0;
}
void Delay(uint32_t step)
{
while(step>>0)
{
--step;
}
}
Может из-за того,что неподтянут резистор к ноге? питания ТСОП 3,6В. И какое нужно использовать к земле или к питанию?
Программа прерывание(PA0) тухнет светодиод(PA7).
Где можно глянуть,какое напряжение можно подавать на ногу,ведь не на каждую можно подавать 5В?
Спойлер
#include "stm32l1xx.h"#include "stm32l1xx_gpio.h"
void Delay(uint32_t step);
int main()
{
RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN ;// подаем тактирование для перефирии.
SYSCFG->EXTICR[0] &= ~SYSCFG_EXTICR1_EXTI0_PA;
SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PA;
EXTI -> IMR |= EXTI_IMR_MR0; //устанавливаем прерывание
EXTI -> EMR |= EXTI_EMR_MR0;//устанавливаем событие
EXTI->RTSR |= EXTI_RTSR_TR0;
EXTI->FTSR |= EXTI_FTSR_TR0;
EXTI->SWIER |= EXTI_SWIER_SWIER0;
RCC->AHBENR |= RCC_AHBENR_GPIOBEN;
GPIOB->MODER |= GPIO_MODER_MODER7_0;
GPIOB->OTYPER &= ~GPIO_OTYPER_OT_7;
GPIOB->PUPDR &= ~GPIO_PUPDR_PUPDR7;
GPIOB->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR7;
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
GPIOA->MODER |= GPIO_MODER_MODER0_1;//настройка в альтернативный режим
GPIOA->OTYPER &= 0;//установка в пуш -ап
GPIOA->PUPDR |= GPIO_PUPDR_PUPDR1_1; // подтяжка сопротивления
GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR1;
NVIC_EnableIRQ(EXTI0_IRQn);
while(1)
{
GPIOB -> BSRRL =GPIO_Pin_7;//вырубаем светодиод
Delay(100000);
}
}
void EXTI0_IRQHandler(void)
{
GPIOB->BSRRH =GPIO_Pin_7;//врубаем светодиод
Delay(100000);
EXTI->PR |=EXTI_PR_PR0;
}
void Delay(uint32_t step)
{
while(step>>0)
{
--step;
}
}
Re: STM32 новичку в ARM что к чему
спящий писал(а):Где можно глянуть,какое напряжение можно подавать на ногу,ведь не на каждую можно подавать 5В?
В даташите. В табличке соотвествия порта и номера вывода STM32L15xxx pin definitions
FT означает Five volt Tolerant - терпимый к 5 вольтам.
Re: STM32 новичку в ARM что к чему
Прерывания нет при подключении Тсопа,но когда тыкаеш на ногу 3В есть,че за нах?)
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: STM32 новичку в ARM что к чему
TSOP от какого напряжения питается? Проверьте осциллографом есть ли импульсы на выходе TSOP.
Ставим плюсы: )
Re: STM32 новичку в ARM что к чему
Тыкал,есть! питается от 3,6 вольт(в даташите от 2,6в вроде). Я даже просто,брал выхот ТСОПа и тыкал на вход микрика,есть прерывание,но когда садиш егоже на этотже вход- нет)Че за нах)
Re: STM32 новичку в ARM что к чему
спящий писал(а):Тыкал,есть! питается от 3,6 вольт(в даташите от 2,6в вроде). Я даже просто,брал выхот ТСОПа и тыкал на вход микрика,есть прерывание,но когда садиш егоже на этотже вход- нет)Че за нах)
Проверьте подключение подтягтвающих резисторов в контроллере. Если включена подтяжка к земле - возможно она перетягивает подтяжку к + в TSOP. Нужно подтяжку выключить или подтянуть к +. Ну если описание http://myrobot.ru/wiki/index.php?n=Components.TSOP не врет.
-
Foks
- Поставщик валерьянки для Кота
- Сообщения: 2108
- Зарегистрирован: Пт авг 29, 2008 16:28:19
- Откуда: Киев
Re: STM32 новичку в ARM что к чему
Блокировочная керамика на выводах питания TSOP обязательна. Когда-то у меня были проблемы от того что её не было, хотя и помех по питанию тоже особо-то не было. Были такие же чудеса: включал отдельно TSOP - на осциллографе всё было, включал в схему и на выходе проскакивали только редкие короткие импульсы, никак не кореллирующие с реальным входным сигналом.
Giggity giggity goo!
Re: STM32 новичку в ARM что к чему
Блокировочная керамика - что это кондер?
я его и к земле и к плюсу притягивал,раньше делал на МЕГЕ работало,а на СТМ нет.По осцилогарафу все вроде норм,14 импульсов,а прерывания нет.
я его и к земле и к плюсу притягивал,раньше делал на МЕГЕ работало,а на СТМ нет.По осцилогарафу все вроде норм,14 импульсов,а прерывания нет.
-
Foks
- Поставщик валерьянки для Кота
- Сообщения: 2108
- Зарегистрирован: Пт авг 29, 2008 16:28:19
- Откуда: Киев
Re: STM32 новичку в ARM что к чему
Ну знаете, в Ваших словах что-то не сходится: импульсы на выходе есть, но прерывание от них не работает, зато от кнопки работает. Уровень импульсов нормальный? До нуля опускается?
Giggity giggity goo!