Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 06.01.2014, 15:31  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,907
Сказал спасибо: 2,542
Сказали Спасибо 11,818 раз(а) в 5,924 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: FAQ по STM8

Easyrider83, я про общие подходы.
А по существу - (лень копать ДШ) может ли таймер изменить значение предделителя без предварительной остановки? Это к
Сообщение от Easyrider83 Посмотреть сообщение
TIM4-›CR1 = TIM4_CR1_CEN;
TIM4-›PSCR = TIM4_PRESCALER_16;
Реклама:
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 06.01.2014, 16:02  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от Easyrider83 Посмотреть сообщение
При работе от HSI все в порядке. Этот глюк только при работе от HSE наблюдается.
Попробую сам разобраться. Код рабочий, все нормально там
Мда, праздники удались! Я не буду говорить о вреде прозябания на SPL, но HSI, HSE - никакой разницы, таймеру пофигу. Значение прескалера обновится только после переполнения.
Заносится значение прескалера, устанавливается бит UG, потом включается таймер.
nahimovv вне форума  
Сказали "Спасибо" nahimovv
Easyrider83 (06.01.2014)
Непрочитано 06.01.2014, 16:04  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от akegor Посмотреть сообщение
может ли таймер изменить значение предделителя без предварительной остановки
Легко! Просто нужно знать как работает таймер и что нужно получить.
nahimovv вне форума  
Непрочитано 06.01.2014, 16:17  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: FAQ по STM8

Спасибо, nahimovv, бит UG помог.
Код:
void delays_init (void)
{
  CLK-›PCKENR1 |= CLK_PCKENR1_TIM4;
  TIM4-›PSCR = TIM4_PRESCALER_4;
  TIM4-›EGR |= TIM4_EGR_UG;
  TIM4-›CR1 = TIM4_CR1_CEN;
}
Easyrider83 вне форума  
Непрочитано 15.01.2014, 00:53  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Попробовал вчера вечером sdcc в действии (на своем STM8S003): прерывания от Timer1 работают, EXTI работают, а вот АЦП, собака, что-то не дает прерываний (я сделал простую мигалку на 16-ти светодиодах и дешифраторе, по умолчанию период мигания ~1с, полупериод равен значению, считанному АЦП, в миллисекундах - но что бы я с PD2 (AIN3) не делал, период мигания не меняется.
Вот такой код инициализации:
Код:
	// select PD2[AIN3] & enable interrupt for EOC
	ADC_CSR = 0x23;
	ADC_TDRL = 0x08; // disable Schmitt triger for AIN3
	// right alignment
	ADC_CR2 = 0x08; // don't forget: first read ADC_DRL!
	// f_{ADC} = f/18 & continuous non-buffered conversion & turn it on
	ADC_CR1 = 0x73;
вот - что в прерывании:
Код:
	ADC_value = ADC_DRL; // in right-alignment mode we should first read LSB
	ADC_value |= ADC_DRH ‹‹ 8;
	ADC_CSR &= 0x3f; // clear EOC & AWD flags
Само значение ADC_value (инициализировано числом 500) используется так:
Код:
		// ADC_value sets half-period in ms
		if(Global_time - T › (long)ADC_value){
			T = Global_time;
			if(onboard_blink) PD_ODR ^= GPIO_PIN3; // blink on-board LED
			PC_ODR = (LedCntr++) ‹‹ 3;
			if(LedCntr == 0x20) LedCntr = 0;
		}
Пока придумал два варианта: 1) кривые руки (хоть даташит 3 раза перечитал), 2) я уже умудрился убить флеш S003 (уж очень мне не нравится упомянутое в даташите число "100").
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 15.01.2014, 01:49  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
уж очень мне не нравится упомянутое в даташите число "100"
Причём, это - в двоичном виде!
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 15.01.2014, 03:43  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от eddy Посмотреть сообщение
не дает прерываний
Wakes up вижу, а Start conversion где?
Сообщение от eddy Посмотреть сообщение
я уже умудрился убить флеш S003
Поздравления! Для этого есть S103.
nahimovv вне форума  
Непрочитано 15.01.2014, 08:36  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Сообщение от nahimovv Посмотреть сообщение
Wakes up вижу, а Start conversion где?
Вот же:
Сообщение от eddy Посмотреть сообщение
ADC_CR1 = 0x73;
младший бит ADC_CR1 - и есть start conversion.
Сообщение от nahimovv Посмотреть сообщение
Для этого есть S103.
Ну, дык, это тоже прикуплю (лучше, наверное, S105 - на нем макетки дешевле). Но пока есть только макетка с S003 и "вольтметр" с ним же.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 15.01.2014, 10:43  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: FAQ по STM8

Вот пример работы с АЦП на STM8:
Код:
  /*ADC INIT*/
  ADC1-›TDRL = ADC1_SCHMITTTRIG_CHANNEL5|ADC1_SCHMITTTRIG_CHANNEL  6;
  ADC1-›CR1 = ADC1_PRESSEL_FCPU_D18;
  ADC1-›CR2 = ADC1_ALIGN_RIGHT;
Код:
u16 Adc_Read (u8 AdcChannel)
{
  u16 Result;
  ADC1-›CR1 = ADC1_PRESSEL_FCPU_D18;
  ADC1-›CSR = AdcChannel;
  ADC1-›CR1 = ADC1_PRESSEL_FCPU_D18|ADC1_CR1_ADON;
  ADC1-›CR1 = ADC1_PRESSEL_FCPU_D18|ADC1_CR1_ADON;
  while ((ADC1-›CSR&ADC1_CSR_EOC)==0);
  Result = ADC1-›DRL; 
  Result|= (ADC1-›DRH‹‹8);
  ADC1-›CR1 = 0x70;
  return Result;
}
Easyrider83 вне форума  
Непрочитано 15.01.2014, 11:04  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: FAQ по STM8

Easyrider83, у меня почти то же самое. Только мне нужно непрерывное считывание с записью результата в глобальную переменную по прерыванию EOC. Судя по всему, я просто спалил-таки флеш.
Ладно, вечером еще попробую. Если действительно флеш уже сдохла, буду ковырять "вольтметр".
А вообще, надо будет с зарплатки прикупить себе пару макеточек на S103 или S105 по 130 рубликов.
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
 

Закладки

Метки
arm, cortex, stm32, stm8
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импульсная зарядка для авто-аккумуляторов (новодел) Falconist Источники питания и свет 1915 14.03.2024 19:56
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
STM8(S/L), первые впечатления kison STM8 1423 19.05.2018 19:23
Вопросы и замечания по топику - FAQ по PROTEUS avr123-nm-ru Proteus 291 05.06.2015 20:49
FAQ Импульсный трансформатор alberio Источники питания и свет 87 13.11.2012 18:07


Часовой пояс GMT +4, время: 20:36.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot