- 博客(5)
- 收藏
- 关注
原创 STM32 CUBE MX的定时器配置
在今天配置CUBEMX的通用定时器时发现了两个问题1.误以为Clock source中的Internal Clock为内部时钟,而我是使用的外部晶振,所以我一直选择了第二个选项。其实第二个选项是ETR2 外部触发输入(ETR)(仅适用TIM2,3,4),意思外接界的其他信号源,其实仔细看看时钟树也会发现HIS并没有直接连接到APB总线2.在编写中断服务函数之前需要在主函数前添加 HAL_...
2020-03-30 00:31:01 3324 4
原创 STM32 窗口看门狗寄存器配置的一个小问题
在配置窗口看门狗寄存器的时候发现,初始化代码的顺序相当关键,CFR寄存器的第9位(唤醒中断开启)置1时开启看门狗中断,而SR(状态寄存器)的清0必须刚好在CFR第9位置1的前一条代码执行,在其他位置(即使是上两行)都不行!void WWDG_Init(u8 pr,u8 cr,u8 wr){ NVIC_Init(2,3,WWDG_IRQn,2); RCC->APB1ENR|=1<...
2020-03-28 22:48:41 332 1
原创 STM32的串口通讯协议
简单理解一下正点原子的串口通讯的协议代码,代码如下void USART1_IRQHandler(void){ u8 res; if(USART1->SR&(1<<5)) //接收到数据 { res=USART1->DR; //接受到的数据给临时变量 if((USART_RX_STA&0x8000)==0)//接收未完成 { ...
2020-03-18 23:25:23 808
原创 STM32 CUBE MX生成HAL库的串口中断
今天尝试使用HAL库的串口中断,发现使用HAL库默认的中断服务函数异常的复杂和艰辛,只能进入一次中断而且会发生各种状况。所以尝试不用默认HAL库的中断服务函数编写方式。配置好串口,使能中断使用以下语句开启接受或发送中断HAL_UART_Receive_IT(&huart1, Rxdata, 1);//接受数据中断 HAL_UART_Transmit_IT(UART_Handle...
2020-03-18 00:26:59 370
原创 STM32通过UART使用printf打印数据
首先进行各项初始化,并添加stdio头文件之后添加如下代码库函数int fputc(int ch, FILE *f){ while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); //等待上次发送结束 USART_SendData(USART1, (unsigned char)ch); //发送数据到串口 return...
2020-03-17 00:20:17 1741
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人