30.11.2011, 21:30
|
#1031
|
Гражданин KAZUS.RU
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Alexey_1811
|
Два дня кручу, а работать нормально не хочет.
|
Что именно не работает?
|
|
|
|
30.11.2011, 22:40
|
#1032
|
Вид на жительство
Регистрация: 21.11.2009
Сообщений: 342
Сказал спасибо: 4
Сказали Спасибо 149 раз(а) в 66 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
кто-нибудь знает за сколько циклов выполняются последовательные команды STR Rx,[Ry,#0] ?
в реф.мануале пишут что 1 такт, в других источниках утверждают что расположенные рядом команды тормозятся еще на 1..2 такта.
У кого есть доступ к отладчику, посмотрите пожалуйста на такой кусок при выполнении из флеша и озу:
Цитата:
|
STR R0,[R2,#0]
STR R1,[R2,#0]
....................
STR R0,[R2,#0]
STR R1,[R2,#0]
|
|
|
|
|
01.12.2011, 11:34
|
#1033
|
Временная регистрация
Регистрация: 19.05.2010
Сообщений: 78
Сказал спасибо: 10
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Помогите, пожалуйста, разобраться с записью/чтением flash в stm32.
Пишу последовательность:
Код:
|
FLASH_Unlock();
FLASH-›CR|=FLASH_CR_PG;
temp=FLASH_ProgramHalfWord(0x08000000,0xabcd); |
в итоге после FLASH_ProgramHalfWord(0x08000000,0xabcd) устанавливается бит PGERR, а сама функция возвращает 2 (ошибка записи). В чем проблемма? Используется stm32f103vet6
|
|
|
|
02.12.2011, 18:20
|
#1034
|
Гражданин KAZUS.RU
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Batisto4ka,
Если писать программирование вручную, без библиотек, то все работает сразу. Докуметация довольно понятно объясняет как это делать.
|
|
|
|
03.12.2011, 00:23
|
#1035
|
Прохожий
Регистрация: 17.11.2011
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Добрый день.
Всплыла такая проблемка, что при инициализации NVIC
Код:
void InteruptTIM2(void)
Код:
|
{
/* Interrupt Configuration */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriori ty = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
} |
Останавливается в дебагере на этом моменте
Код:
|
/* Enable the Selected IRQ Channels --------------------------------------*/
NVIC-›ISER[NVIC_InitStruct-›NVIC_IRQChannel ›› 0x05] =
(uint32_t)0x01 ‹‹ (NVIC_InitStruct-›NVIC_IRQChannel & (uint8_t)0x1F); |
С такой ошибкой:
![](http://i.piccy.info/i7/6bc57b35a7e37e40c51cce0189c66462/1-5-2341/41494960/1.png)
Подключены библиотеки gpio,rcc,tim.
Сталкивался ли кто-либо?
|
|
|
|
04.12.2011, 04:40
|
#1036
|
Частый гость
Регистрация: 20.09.2009
Сообщений: 40
Сказал спасибо: 17
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Помогите плиз, никак не хочет работать выход ШИМ TIM3_CH1 ремапленый на PB4, при том что TIM3_CH2 на PB5 работает отлично... Подозреваю нелады с NJRST, но уже все варианты перепробовал, PB4 работает либо как NJRST, либо как GPIO, может тут нужна какая хитрая последовательность инициализации и ремапа...
Вот код:
Код:
|
void Init_GPIO()
{
//Enabling clock for GPIO A,B,C
RCC-›APB2ENR|=RCC_APB2ENR_IOPAEN;
RCC-›APB2ENR|=RCC_APB2ENR_IOPBEN;
RCC-›APB2ENR|=RCC_APB2ENR_IOPCEN;
RCC-›APB2ENR|=RCC_APB2ENR_AFIOEN;
AFIO-›MAPR |= AFIO_MAPR_SWJ_CFG_0;
AFIO-›MAPR |= AFIO_MAPR_TIM3_REMAP_PARTIALREMAP;
GPIOB-›CRL = 0x00990000; //PORTB.4,5 Push-pull output 10MHz, alternate
}
void tim3_init(void)
{
// разрешаем татирование модуля
RCC-›APB1ENR |= RCC_APB1ENR_TIM3EN;
// устанавливаем предделитель
TIM3-›PSC = 10 - 1;
// задаем период ШИМ
TIM3-›ARR = 255;
// начальную длительность импульса
TIM3-›CCR1 = 127;
TIM3-›CCR2 = 127;
// задаем режим работы ОШИМ
TIM3-›CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1PE;
TIM3-›CCMR1 = TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2PE;
// разрешаем выходной сигнал
TIM3-›CCER = TIM_CCER_CC1E;
TIM3-›CCER = TIM_CCER_CC2E;
TIM3-›BDTR = TIM_BDTR_MOE;
// разрешаем работу и автоперезагрузку
TIM3-›CR1 = TIM_CR1_CEN | TIM_CR1_ARPE;
} |
__________________
|
|
|
|
04.12.2011, 08:38
|
#1037
|
Прописка
Регистрация: 10.08.2010
Сообщений: 113
Сказал спасибо: 30
Сказали Спасибо 43 раз(а) в 26 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Left Radio,
Про ремап сказать немогу..... на глаза бросилось следующее:
Цитата:
|
// разрешаем выходной сигнал
TIM3-›CCER = TIM_CCER_CC1E;
TIM3-›CCER = TIM_CCER_CC2E;
TIM3-›BDTR = TIM_BDTR_MOE;
|
По моему биты надо выставлять так:
Код:
|
TIM3-›CCER |= TIM_CCER_CC1E;
TIM3-›CCER |= TIM_CCER_CC2E;
TIM3-›BDTR |= TIM_BDTR_MOE; |
|
|
|
|
04.12.2011, 11:39
|
#1038
|
Частый гость
Регистрация: 20.09.2009
Сообщений: 40
Сказал спасибо: 17
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
avs2009, и точно, прошляпил ![Улыбка](images/smilies/icon_smile.gif) Заработало, спасибо!
__________________
|
|
|
|
04.12.2011, 13:24
|
#1039
|
Прописка
Регистрация: 10.08.2010
Сообщений: 113
Сказал спасибо: 30
Сказали Спасибо 43 раз(а) в 26 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
обнаружил непонятный мне эффект.
работаю с таймером 15
запускаю таймер
Код:
|
RCC-›APB2ENR |= RCC_APB2ENR_TIM15EN;
// переназначение выводов таймера
AFIO-›MAPR2|=AFIO_MAPR2_TIM15_REMAP;
//Используем счет от внешнего источника сигнала
// TIM15_CH1 PB14
TIM15-›CCMR1 |= TIM_CCMR1_CC1S_0;
// настройка таймера
TIM15-›CCER |=TIM_CCER_CC1P;;
TIM15-›SMCR |= TIM_SMCR_SMS_0 | TIM_SMCR_SMS_1 | TIM_SMCR_SMS_2;
TIM15-›SMCR |= TIM_SMCR_TS_2 | TIM_SMCR_TS_0;
// включение таймера
TIM15-›CR1 |= TIM_CR1_CEN; |
На вход таймера поступают внешние импульсы. Я в цикле основной программы считываю значение счетного регистра CNT после чего его обнуляю
IntCount=TIM15-›CNT;
TIM15-›CNT=0;
Пока я работаю в IAR (Debug) все работает как надо. Как только запускаю без IAR таймер не работает. Попробовал полностью инициализировать таймер после каждого обнуления CNT - все заработало в любом режиме. Что это за глюк такой? Или я что-то накосячил с настройками таймера....
|
|
|
|
04.12.2011, 15:04
|
#1040
|
Частый гость
Регистрация: 20.09.2009
Сообщений: 40
Сказал спасибо: 17
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Что значит "запускаю без IAR"? Компилите релиз и прошиваете?
__________________
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:36.
|
|