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

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

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

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

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

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


 
Опции темы
Непрочитано 18.08.2011, 09:01  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Все товарищи, разобрался! Код полностью нормальный, это лыжи не едут, точнее дебуггер в кейле(4.12) ведет себя странно и некорректно. Стоило открыть окно Memory, вбить туда базовый адрес буфера SRAM и расширить его на весь экран(чтобы весь массив был виден), как по бряку все ячейки загрузились верными значениями. После этого вкладка Watch тоже начала отображать корректную информацию. Вот такой неожиданный косяк.

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

Да, кеиловский watch меня тоже малость насторожил. Работает из рук вон плохо.
Easyrider83 вне форума  
Непрочитано 22.08.2011, 11:00  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Что-то меня переклинило и я никак не могу понять, надо ли в обработчике IRQ вручную очищать флаг в NVIC-›ICPR?
Смущает то, что запускал два проекта проверки разной периферии, в одном проекте проверки DMA не надо было очищать, так проглатывало:

PHP код:
void DMAChannel1_IRQHandler(void)
{
    
ADC1-›CR2 &= (~ADC_CR2_ADON); //power-off ADC
    
DMA1-›IFCR DMA_IFCR_CGIF1 DMA_IFCR_CTCIF1;//clear DMA interrupt flags

В другом проекте проверки таймера №6, без очистки постоянно вызывается прерывание:
PHP код:
void TIM6_DAC_IRQHandler(void)
{

    if(
p_stat)
        {
        
GPIOC-›BSRR LED_ON;//set PC9
        
p_stat 0;
        }
    else
        {
        
GPIOC-›BSRR LED_OFF;//clear PC9
        
p_stat 1;
        } 

    
TIM6-›SR 0;//clear pending flag
    
NVIC-›ICPR[1] = (1‹‹22);//если здесь не очистить то прерывание не отключается

uk8amk вне форума  
Непрочитано 22.08.2011, 18:23  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Пробовал запускать systick - ему тоже не нужно очищать ICPR, NVIC сам похоже это делает. Но для IRQ TIM6 почему-то так не проканывает. Почему?
Вот проект на микровижн. Тагет stm32f100rb на плате vl-discovery. Мигает светодиодом когда происходит прерывание.
Вложения:
Тип файла: rar TIM6_tst.rar (232.6 Кб, 72 просмотров)
uk8amk вне форума  
Непрочитано 22.08.2011, 19:32  
tanq
Гражданин KAZUS.RU
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от uk8amk Посмотреть сообщение
Но для IRQ TIM6 почему-то так не проканывает. Почему?
NVIC трогать не надо вообще. Прерывания надо очищать в статусном регистре. В данном случае в таймере. Если этого не сделать, прерывание сработает повторно.
Вот эта запись TIM6-›SR = 0 нифига не работает, потому что сначало надо прочитать регистр, а потом уже занулять. Т.е. там обнуляются только те статусные биты, которые были перед этим считаны. Сделано для того, чтоб не сбрасывались биты, которые появились уже после входа в прерывание.
tanq вне форума  
Непрочитано 23.08.2011, 11:00  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

TIM6 меня начинает бесить. Мои попытки обнулять TIM6-›SR ни к чему не приводят. Покажите пожалуйста код кот. мигает светодиодо скажем раз в секунду.
PHP код:
uint8_t p_stat=0;

void TIM6_DAC_IRQHandler(void)
{
    
uint16_t temp;

    
temp TIM6-›SR;
    
temp=0;
    
TIM6-›SR temp;//clear pending flag

uk8amk вне форума  
Непрочитано 23.08.2011, 12:16  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Глянул более детально осциллом что творится на выходе. Получается что вход в обработчик происходит два раза подряд.
Миниатюры:
Нажмите на изображение для увеличения
Название: oscill.PNG
Просмотров: 64
Размер:	1.3 Кб
ID:	25400  
Вложения:
Тип файла: txt main.txt (1.1 Кб, 72 просмотров)
uk8amk вне форума  
Непрочитано 24.08.2011, 09:18  
uk8amk
Вид на жительство
 
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
uk8amk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от tanq Посмотреть сообщение
Вот эта запись TIM6-›SR = 0 нифига не работает, потому что сначало надо прочитать регистр, а потом уже занулять.
Если не трудно, приведите пожалуйста документ и страницу где про это почитать. В мануале про это не смог найти.

Пробовал смотреть отладчиком состояние статусного регистра. Флажок UIF сбрасывается всегда при записи нулей, вне зависисмости от того, читал я его до этого или нет.
Теперь ближе к моей проблеме. Флажок в обработчике сбрасывается, я выхожу из прерывания, затем тутже меня снова забрасывает в этот обработчик. Я вижу что флажок сброшен, но прерывание же сгенерировалось! Теперь опять зануляется этот неустановленный флажок и прерывание замолкает надолго до следующего события обновления таймера.

Хм.. Сейчас проверил еще один вариант. Сделал сброс флажков два раза подряд:
TIM6-›SR = 0x0000;
TIM6-›SR = 0x0000;

И все заработало... Что это, глюк кейла, сбой чипа?

ЗЫ. Errata читал, про ТИМ6 и ТИМ7 там пусто.
uk8amk вне форума  
Непрочитано 24.08.2011, 13:25  
tanq
Гражданин KAZUS.RU
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от uk8amk Посмотреть сообщение
Сделал сброс флажков два раза подряд:
Похоже на глюк, не знаю чей. У меня GCC и работает следующая конструкция:
TIM6-›SR &= ~TIM_SR_UIF
Данная фича описана в описании регитсра SR.
tanq вне форума  
Сказали "Спасибо" tanq
uk8amk (25.08.2011)
Непрочитано 24.08.2011, 14:25  
gamklo
Прохожий
 
Регистрация: 03.08.2011
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
gamklo на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Доброго времени суток!! Начал осваивать Ethernet.. столкнулся с интерфейсом MII (RMII). Собственно пока больше вопросов чем ответов, в какой регистр записывать данные, откуда считывать ну и т. д...... Кто уже с ним работал? скиньте проектик....
gamklo вне форума  
 

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

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

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


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