历史上的今天
今天是:2024年10月25日(星期五)
2019年10月25日 | 如何配置STM32F103的重映射USART
2019-10-25 来源:eefocus
这两天用STM32F103操作MC39i,其中用到STM32的重映射串口3,部分重映射到PC10、PC11上。经参考了正点原子的《STM32不完全手册》并查看手册,调试成功讲解如下,如有不足欢迎指正。
经查找手册见下图:
此时配置串口步骤如下:
1.开启辅助时钟:RCC->APB2ENR|=1<<0;
2.配置重映射寄存器,请串口3部分映射到PC口上:AFIO->MAPR|=1<<4;//USART3_REMAP[1:0]=0B01;
3.使能PC口和串口:RCC->APB2ENR|=1<<4; //使能PORTC口时钟
RCC->APB1ENR|=1<<18; //使能串口时钟
4.配置IO口的状态:GPIOC->CRH=0X44444B44;//IO状态设置PC10/PC11
5.复位串口:RCC->APB1RSTR|=1<<18; //复位串口1
RCC->APB1RSTR&=~(1<<18);//停止复位
6.设置波特率和传输方式:USART3->BRR、USART3->CR1。
7.配置接受中断和中的优先级:USART3->CR1|=1<<8; //PE中断使能
USART3->CR1|=1<<5; //接收缓冲区非空中断使能 MY_NVIC_Init(2,3,USART1_IRQChannel,2);//组2,最低优先级
至此配置完成。
备注:串口管脚配置见下图
史海拾趣
|
我自己编写了一个DLL,这个DLL中有打开,关闭,和读写串口的一些函数。现在,我在外面的一个测试程序中调用DLL中的写串口函数的时候,第一次写串口是OK的,但是为什么第二次写的时候就出错了,返回实际写入的字节数为0。DLL中写串口的函数中就一句W ...… 查看全部问答> |
|
我用51单片机读取片外RAM的数据,输出到P0,P0口的输出电压是0伏,和1.3伏,没有输出5伏的,这是为什么?单片机供电没有问题,会是单片机坏了吗?… 查看全部问答> |
|
#include /****************主函数****************/ void main(void) { /*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; &nbs ...… 查看全部问答> |
|
MSP430G2 LaunchPad内部温度测量演示应用新问题,求解! 芯片是WSP430G2553, 安装了CCS V5和 IAR,而且aunchPad_Temp_GUI.exe , Temperature Sensor 和 java 都有,就是出现下图这样,无法键盘输入,按S2,LED灯依旧闪烁,肿么办??? … 查看全部问答> |
|
由于现在用的是笔记本电脑,没有PCIe的接口可以进行调试,这里就只能仿真过过PCIe的瘾了。 实际的FPGA设计工作中,仿真占了很大一块,很多的设计错误都可以通过仿真发现出来。 一个好的仿真环境能够FPGA设计工作事半功倍。Altera的PCIe环境仿真代 ...… 查看全部问答> |




