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

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

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

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

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

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


 
Опции темы
Непрочитано 16.08.2011, 14:11  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Примерно вот это я имел в виду. В железе еще не провеля. Хрен его знает, сколько это на асме команд займет. Подберу коэфициентом.
Код:
#define CPU_CLOCK 16000000
void delay_us(unsigned int us);
void delay_ms(unsigned short int ms);
void delay_s(unsigned char s);

void delay_us(unsigned int us)
{
	unsigned int cycles=us*(CPU_CLOCK/3600000);
	for(; cycles !=0; cycles--);
}

void delay_ms(unsigned short int ms)
{
	unsigned int cycles=ms*(CPU_CLOCK/3600);
	for(; cycles !=0; cycles--);
}

void delay_s(unsigned char s)
{
	unsigned int cycles=s*(CPU_CLOCK/3.6);
	for(; cycles !=0; cycles--);
}
На счет прерываний. Каждое прерывние всегда надо сбрасывать, как в пиках. Есть какая-нибудь быстрая шпаргалка, какие регистры сбрасывать для каких прерываний. А то сами прерывания очень красиво описаны в старт-файле, а флаги, которые нужно сбрасывать, приходиться тащить с миру по нитке.
Реклама:

Последний раз редактировалось Easyrider83; 16.08.2011 в 17:43.
Easyrider83 вне форума  
Непрочитано 16.08.2011, 16:58  
tanq
Гражданин KAZUS.RU
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от ^smbd^ Посмотреть сообщение
Появилось время опять заняться этим вопросом.
А если без дма ? Если обрабатывать в прерывании? Он ведь после окончания каждого преобразования в очереди должен прерывания выдавать? Или только когда все отработает?
Я так не пробовал, в даташите вроде упоминается что прерывание будет только после последнего преобразования. Может быть, если отключить флаг ADC_CR1_SCAN, тогда прерывание будет выдаваться каждый раз. Но я не пробовал. Я делал зауск преобразования вручную по таймеру, на 1 канал, - работает.
tanq вне форума  
Непрочитано 16.08.2011, 17:01  
tanq
Гражданин KAZUS.RU
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
Вы сразу ссылочку прикрепляйте, чтобы понятнее было.
В элитане поиск по STM32F100R4
Вот
http://www.elitan.ru/price/index.php...nd=STM32F100R4
tanq вне форума  
Непрочитано 16.08.2011, 17:31  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

tanq, не, такая ценовая политика мне не нравится. Ну их в баню.
Easyrider83 вне форума  
Непрочитано 16.08.2011, 17:39  
zheleznjakov
Прописка
 
Аватар для zheleznjakov
 
Регистрация: 31.03.2010
Сообщений: 200
Сказал спасибо: 3
Сказали Спасибо 48 раз(а) в 41 сообщении(ях)
zheleznjakov на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
zheleznjakov, у вас аргументом функции является количество циклов. Это у меня тоже есть. А мне надо, чтобы там фигурировала контсанта тактовой частоты. Чтобы компилятор сам пересчитывал, сколько тактов требуется, чтобы отработать определенное время. Сегодня до работы доберусь, сам накидаю. Задефайним константу, а дальше математика. Как известно, математику с константами считает компилятор, а не контроллер.
Ой, код не мой. Простой копи-паст, источник я указал.
Такие штуки я не использую, потому что в программе практически всегда есть прерывания, а они увеличивают "такие" задержки, поэтому я использую таймер для этого дела.
__________________
ziblog.ru
zheleznjakov вне форума  
Непрочитано 16.08.2011, 17:42  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

zheleznjakov, да я тоже уже понял. От степени оптимизации время исполнения поплыло. Надо на асме писать. В общем-то, тот мой код "почти работает". Т.е. работает нормально, но паузы не точные. Там, где время критично, на них лучше не полагаться.
Easyrider83 вне форума  
Непрочитано 16.08.2011, 18:01  
zheleznjakov
Прописка
 
Аватар для zheleznjakov
 
Регистрация: 31.03.2010
Сообщений: 200
Сказал спасибо: 3
Сказали Спасибо 48 раз(а) в 41 сообщении(ях)
zheleznjakov на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Получается вы не используете прерывания в коде? или за чем вам такие паузы?
__________________
ziblog.ru
zheleznjakov вне форума  
Непрочитано 16.08.2011, 18:36  
nik55555
Прохожий
 
Регистрация: 01.10.2008
Сообщений: 8
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
nik55555 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Кто знает, почему STM32L-Discovery может не шить через разьем SWD?
Пытаюсь прошить STM32F103VG ST-Link утилитой, читает нормально, можно поменять биты конфигурации но не шьет флеш.
Помогите кто знает в чем проблема.
nik55555 вне форума  
Непрочитано 16.08.2011, 18:50  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от zheleznjakov Посмотреть сообщение
Получается вы не используете прерывания в коде? или за чем вам такие паузы?
Да нет же. С прерываниями все просто. Паузы нужны в любом случае. Не всегда же заряжать тяжелую артилерию. Ининиализируете чип. Опустили CS. По даташиту нужно ждать 4мс. Зачем ради этого таймер запускать? Проще циклами подождать.
Easyrider83 вне форума  
Непрочитано 16.08.2011, 19:10  
zheleznjakov
Прописка
 
Аватар для zheleznjakov
 
Регистрация: 31.03.2010
Сообщений: 200
Сказал спасибо: 3
Сказали Спасибо 48 раз(а) в 41 сообщении(ях)
zheleznjakov на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
Да нет же. С прерываниями все просто. Паузы нужны в любом случае. Не всегда же заряжать тяжелую артилерию. Ининиализируете чип. Опустили CS. По даташиту нужно ждать 4мс. Зачем ради этого таймер запускать? Проще циклами подождать.
Раньше то же так думал, но сейчас с хорошей начинкой мк и постоянной борьбой за потребление стараюсь по больше спать и по меньше считать
__________________
ziblog.ru
zheleznjakov вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


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


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