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

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

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

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

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

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


Ответ
Опции темы
Непрочитано 04.10.2011, 10:11   #861
a-fisher
Прописка
 
Аватар для a-fisher
 
Регистрация: 15.11.2007
Адрес: СПБ
Сообщений: 214
Сказал спасибо: 37
Сказали Спасибо 42 раз(а) в 34 сообщении(ях)
a-fisher на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от EugenPKH Посмотреть сообщение
В том то и дело , что у меня новый кеил а в нем драйвера st_link V2 и первый он не видит в упор .
st link firmware update от первого видит мою дискавери и обновляет до v1.J12.S0, а от второго не видит и соответственно до v2 не обновлят .

А как обновить V1 до v2 так и не пойму
В этой теме уже поднимался вопрос - нужно подложить кейлу старую длл для ст-линка и все работает. И сама дллка выкладывалась - поищите.
Реклама:
a-fisher вне форума   Ответить с цитированием
Непрочитано 04.10.2011, 10:45   #862
Oleg Galizin
Частый гость
 
Регистрация: 25.03.2010
Адрес: Voronezh
Сообщений: 35
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
Oleg Galizin на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от dccharacter Посмотреть сообщение
Ну вот, например, пытаюсь понять разницу между interrupt flag и pending bit. Есть две пары функций:

TIM_GetITStatus — TIM_ClearITPendingBit
и
TIM_GetFlagStatus — TIM_ClearFlag

Например мой код (переключение светодиода по переполнению таймера)
Если посмотрите исходник stm32f10x_tim.c то обнаружите, что разницы в этих функциях вообще нет - она сбрасывает биты в регистре SR.
Если посмотреть RM, то обнаружите, что в этом регистре находятся биты признака прерывания и биты признака пропуска захвата. Одни из них назвали битами ожидания (pending) прерывания, другие флагами. Все. Вся разница.
По поводу сброса pending bits Вы не правы. Они сбрасываются софтверно. Читаем RM
CC1IF
This bit is set by hardware on a capture. It is cleared by software or by reading the
TIMx_CCR1 register.
Этот бит устанавливается оборудованием при захвате. Он очищается программно, или автоматически при чтении регистра CCR1. Нужно внимательней читать.

Кроме того Вы можете путать флаги ожидания прерывания в периферии и в NVIC. Поведение первых описано в RM вторых - в описании ядра процессора. Дело в том что одно и тоже прерывание может быть вызвано разными причинами. При этом в периферии устанавливаются разные флаги прерывания (pending bits), которые нужно проверять в обработчике ( если источник не один). А в NVIC при установке любого из флагов оборудования выставляется один флаг прерывания. Он то и очищается при входе в прерывание. Cуществует 2 разных набора битов, относящихся к прерываниям, один из них находится в контроллера NVIC, второй в оборудовании в одном из регистров. Работа с ними происходит по-разному!! Это непривычно при переходе с архитектур, у которых по каждый источник по одному прерыванию. Здесь источников может быть несколько, а прерывание (и соответсвенно обработчик), только один. Этот один обработчик вызывается при возникновении любой из причин прерывания. В обработчике Вы должны проверить флаги и выяснить источник прерывания. Потом сбросить эти флаги явно либо чтением регистра. Конечто, если включен только один источник прерывания, то проверять ничего не надо - причина всегда одна и та же. Но Очищать флаг все равно нужно вручную. Оборудование не знает, включите ли Вы дополнительный источник или нет.
Oleg Galizin вне форума   Ответить с цитированием
Непрочитано 04.10.2011, 13:53   #863
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Еще раз вернусь к I2C. Если перед каждым обращением к EERPOM заново инициализировать I2C, все работает.
Откуда берется второй байт при чтении пока загадка. Хотя процедура отрабатывает верно.

Разобрался. Полная инициализация не нужна. Достаточно только выключать шину командой
I2C_Cmd(I2C1, DISABLE); после процедуры и включать аналогично до процедуры.
Неизвестный байт назвал "густ байтом" и решил с приведениями больше не шутить.
Миниатюры:
Нажмите на изображение для увеличения
Название: i2c.png
Просмотров: 126
Размер:	353.9 Кб
ID:	26751  

Последний раз редактировалось Easyrider83; 04.10.2011 в 15:07.
Easyrider83 вне форума   Ответить с цитированием
Непрочитано 04.10.2011, 15:17   #864
espectr0
Временная регистрация
 
Регистрация: 26.09.2009
Сообщений: 81
Сказал спасибо: 4
Сказали Спасибо 16 раз(а) в 13 сообщении(ях)
espectr0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от espectr0 Посмотреть сообщение
STM32VLDISCOVERY: через USART отправляю каждые полсекунды пресловутый Hello World и мигаю светодиодом - при отладке все ок, а при подаче питания (без отладки) светодиод мигает, а в терминалке ничего.. Пробовал USART1,2 .

Что может быть?
У всех УСАРТ на дискавери работает нормально?
Раз проблема только у меня попробую купить новый контроллер и впаять в плату..
espectr0 вне форума   Ответить с цитированием
Непрочитано 04.10.2011, 15:19   #865
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от espectr0 Посмотреть сообщение
У всех УСАРТ на дискавери работает нормально?
Раз проблема только у меня попробую купить новый контроллер и впаять в плату..
Проверял не так давно UART1. Все отлично.
Easyrider83 вне форума   Ответить с цитированием
Непрочитано 04.10.2011, 16:28   #866
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Добрался я наконец до RTC. Все работает, но один вопрос мне не дает покоя. Итак, у часиков в 100-й серии есть 32-битный счетный регистр CNT. Но на адресное пространство он отображается как 2 32-битных регистра(у которых используется по 16 младших разрядов). Получается чтобы прочитать время мне нужно считать сначала один, а потом другой адрес и путем логических операций получить действительное значение этого регистра. Но есть вероятность, что при чтении в произвольный момент времени может случиться так:
1)читаем регистр CNTH
2)в этот момент поступает секундный импульс с предделителя и содержимое CNT успело обновиться и ресинхронизироваться
3)читаем уже новое значение CNTL и в результате имеем полностью неверный результат времени.

У AVR-ок помню, что при чтении длинных регистров их содержимое копируется в специальные буферные регистры и такая проблема отсутсвует. По STM32 смотрел мануалы и апноты, но ничего толком не нашел.

В голове созрело неcколько решений:
1) по секундному прерыванию считывать в глобальную переменную:

PHP код:
/*--------------------------------------------------------
RTC IRQ - 1 second interval
---------------------------------------------------------*/
void RTC_IRQHandler(void)
{
    
sys_time  = (((uint32_t)RTC-›CNTH)‹‹16) | (RTC-›CNTL); 
    
RTC-›CRL &= ~RTC_CRL_SECF;

2) как подсказал знакомый, считать два раза подряд CNT, и если содержимое одинаково, то результат верный, иначе - перечитать снова.

У кого какие идеи по этой теме?

ЗЫ. На плате VL-DISCOVERY возле STM32F100RB начал болтаться 8МГц кварц. Оказывается он стоит в разъеме, я даже не подозревал))
uk8amk вне форума   Ответить с цитированием
Непрочитано 04.10.2011, 16:58   #867
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Кто-нибудь может поделиться кодом для работы с SD картой через SPI?
В примерах Keil есть только для SDIO.
Easyrider83 вне форума   Ответить с цитированием
Непрочитано 04.10.2011, 17:36   #868
Gaaaaaad
Частый гость
 
Регистрация: 07.03.2011
Сообщений: 38
Сказал спасибо: 1
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
Gaaaaaad на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
Кто-нибудь может поделиться кодом для работы с SD картой через SPI?
В примерах Keil есть только для SDIO.
В чем проблема -- поставить птичку и подложить другой файл драйвера?
Миниатюры:
Нажмите на изображение для увеличения
Название: spi.gif
Просмотров: 160
Размер:	15.1 Кб
ID:	26768  
Gaaaaaad вне форума   Ответить с цитированием
Сказали "Спасибо" Gaaaaaad
Easyrider83 (04.10.2011)
Непрочитано 04.10.2011, 17:37   #869
FROG45
Частый гость
 
Регистрация: 11.05.2010
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
FROG45 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

если файловая система Petit_FAT устроит проект в архиве
Вложения:
Тип файла: rar Mini-STM32 WAVE Audio Player.rar (1,000.6 Кб, 208 просмотров)
FROG45 вне форума   Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо FROG45 за это сообщение:
Easyrider83 (04.10.2011), okan_vitaliy (04.10.2011)
Непрочитано 04.10.2011, 17:40   #870
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Gaaaaaad Посмотреть сообщение
В чем проблема -- поставить птичку и подложить другой файл драйвера?
Откуда такой проектик? Можете прилепить?
Easyrider83 вне форума   Ответить с цитированием
Ответ

Закладки

Опции темы

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

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, время: 01:21.


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