Вт фев 25, 2020 23:34:42
TIM1->PSC = 0;
TIM1->ARR = 1;
Ср фев 26, 2020 00:50:30
Ср фев 26, 2020 21:58:09
Чт фев 27, 2020 17:20:20
Чт фев 27, 2020 23:55:25
for(uint32_t i;;)
{
GPIOA->ODR=i++;
}
LDR.N R1,??main_0 ;; 0x4001080c
??main_1:
STR R0,[R1, #+0]
ADDS R0,R0,#+1
B.N ??main_1
for(GPIO::PA_1 pin;;)
{
pin=1;
pin=0;
}
MOV R0,#+131072
LDR.N R1,??main_0 ;; 0x40010810
MOV R2,#+131074
??main_1:
STR R2,[R1, #+0]
STR R0,[R1, #+0]
B.N ??main_1
for(GPIO::PA_0 pin;;)
{
pin=1;
__NOP(); __NOP();
pin=0;
}
Пт фев 28, 2020 19:38:40
Пн мар 02, 2020 17:07:16
void MCO_out (void){
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; // enable clock for port A
GPIOA->CRH &= ~GPIO_CRH_CNF8_0; // setting out alternative push-pull for PA8
GPIOA->CRH |= GPIO_CRH_CNF8_1;
GPIOA->CRH |= (GPIO_CRH_MODE8_0 | GPIO_CRH_MODE8_1); // gpio speed 50 MHz
RCC->CFGR |= RCC_CFGR_MCO_SYSCLK ;// HSE; PLL; SYSCLK; // select source clokc SYSCLK
}
Пн мар 02, 2020 21:05:43
Brightness = 100;
NVIC_EnableIRQ(TIM3_IRQn);
TIM3->PSC = 153;
TIM3->ARR = 255;
TIM3->DIER |= TIM_DIER_UIE //*!<Update interrupt enable */
| TIM_DIER_CC1IE; //*!<Capture/Compare 1 interrupt enable */
TIM3->CCR1 = Brightness; //*!< TIM capture/compare register 1, */
TIM3->CR1 |= TIM_CR1_CEN;
void TIM3_IRQHandler (void)
{
if(TIM3->SR & TIM_SR_UIF == TIM_SR_UIF){
TIM3->SR = 0;
GPIOA->BSRR |= BS(10); // поднимим ножку
}
if(TIM3->SR & TIM_SR_CC1IF == TIM_SR_CC1IF){
TIM3->SR =0;
GPIOA->BSRR |= BR(10); //опустим ножку
}
}
Пн мар 02, 2020 21:25:55
Пн мар 02, 2020 21:35:08
Пн мар 02, 2020 21:44:39
Пн мар 02, 2020 22:18:53
И еще, сбрасывайте тот флаг, который обрабатываете..
А вообще, можно этот вывод сделать аппаратно и не нужно будет никаких прерываний
Пн мар 02, 2020 22:48:49
Вт мар 03, 2020 00:24:36
Вт мар 03, 2020 05:49:17
if((TIM3->SR & TIM_SR_UIF) == TIM_SR_UIF)
if(TIM3->SR & TIM_SR_UIF)
Вт мар 03, 2020 07:43:36
#define RCC_CFGR_MCO_SYSCLK ((uint32_t)0x04000000) /*!< System clock selected as MCO source */
#define RCC_CFGR_MCO_HSI ((uint32_t)0x05000000) /*!< HSI clock selected as MCO source */
#define RCC_CFGR_MCO_HSE ((uint32_t)0x06000000) /*!< HSE clock selected as MCO source */
#define RCC_CFGR_MCO_PLLCLK_Div2 ((uint32_t)0x07000000) /*!< PLL clock divided by 2 selected as MCO source */
Вт мар 03, 2020 08:34:38
Чёрт, только сейчас, хорошо присмотревшись, вижу разницу BS/BR.VladislavS писал(а):И всё таки он разный
Вт мар 03, 2020 08:57:07
Ошибка в приоритете операций & и ==.
Да можно. Только зачем и что он оттуда прочтёт.
Вт мар 03, 2020 09:38:15
When the System Clock is selected to output to the MCO pin, make sure that this clock
does not exceed 50 MHz (the maximum IO speed).
Вт мар 03, 2020 10:51:11