历史上的今天
今天是:2025年02月14日(星期五)
2020年02月14日 | STM8L USART串口调试
2020-02-14 来源:eefocus
最近学习开发STM8 MCU,,刚入手这颗MCU,对很多功能不太了解,只能一边开发一边学习,记录一下学习过程,如有错误的地方,敬请指正。
MCU:STM8L151K4
环境:IAR FOR STM8
因项目需求,需要调试USART功能,刚开始时候手里没有原理图,只有板子和datasheet,从datesheet上看到USART RX TX管脚为PC2 PC3.
于是便直接配置PC2 PC3,然后进行初始化,但是代码跑起来一直没有接收到MCU发送出去的数据,查看代码和datasheet,然后网上查找资料,发现USART有remappin功能,将PC3 PC2 映射到PA2 PA3上,
于是便询问硬件,确定板子上的USART硬件管脚为PA2 PA3,于是重新配置相关代码,重映射管脚,测试ok.
虽然浪费了点时间,但是还是有些收获的。
部分代码如下:
#define USART_TX_PORT GPIOA
#define USART_RX_PORT GPIOA
#define USART_TX_PINS GPIO_Pin_2
#define USART_RX_PINS GPIO_Pin_3
void uart_gpio_init()
{
GPIO_Init(USART_TX_PORT,USART_TX_PINS, GPIO_Mode_Out_PP_Low_Fast);
GPIO_Init(USART_RX_PORT,USART_RX_PINS, GPIO_Mode_In_PU_No_IT);
}
void uart_init(void)
{
uart_gpio_init();
CLK_PeripheralClockConfig(CLK_Peripheral_USART1, ENABLE);
//remapping
SYSCFG_REMAPPinConfig(REMAP_Pin_USART1TxRxPortA,ENABLE);
USART_DeInit(USART1);
/* UART1 configuration ------------------------------------------------------*/
/* UART1 configured as follow:
- USARTx = 1
- BaudRate = 9600baud
- USART_WordLength = 8 Bits
- One Stop Bit
- No parity
- Receive and transmit enabled
*/
USART_Init(USART1, (uint32_t)9600, USART_WordLength_8b, USART_StopBits_1, USART_Parity_No, (USART_Mode_TypeDef)(USART_Mode_Tx | USART_Mode_Rx));
USART_Cmd(USART1, ENABLE);
}
如果USART硬件直接接到PC2 PC3上,就不需要SYSCFG_REMAPPinConfig进行重映射。
上一篇:STM8 UART中断发,中断收
下一篇:STM8S的中断系统
史海拾趣
|
请教一个boa的问题 cgi串口程序在arm上单独运行可以,但是用boa服务器调用该串口程序时,程序报错:不能打开串口。 还有一个问题就是我怎么不能使用post传递数据,user已经改为root 谢谢 … 查看全部问答> |
|
keil MDK启动文件分析---基于LPC2100系列(其实都是相通的) 转用MDK有一段时间了,越来越觉得MDK的强大,因为我之前都是用ADS1.2开发产品,所以更能体会到MDK的强大与易用性。MDK编译出来的代码与ADS1.2相比,代码量减少了很多,我的一个工程用ADS1.2编译为25.4KB(都是bin格式),但用MDK编译出来仅有19.5KB( ...… 查看全部问答> |
|
关于MC9S12XS128 单片机之间 SPI通信的一些问题 最近在做一个东西,上面用到了两篇XS128之间的主从机通信一片主机一片从机。下面用A(主机) B(从机)代替单功形式,A通过直接写数据寄存器吧数据发送到B,B生成中断响应 接收数据。完全好用在尝试A接收B的数据时。首先B写数据寄存器,进入死 ...… 查看全部问答> |
|
我在CCS4中创建了一个“swi_example”的项目(其实是CCS4自带的示例)。再将NewTargetConfiguration.ccxml文件添加,以及 .cmd 文件(复制以前在非dsp/bios项目用过的cmd文件)。 这样,编译时,CCS显示: .......... --preproc_with_co ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 11:40 编辑 我在一个电路上看到一个芯片,应该是TI的,贴片封装,10个引脚,上面第一行写着72 TI,第二行写着JAAQ,大家是否知道啊,还有就是我不太明白这个贴片上写的JAAQ代表什么意思,72是不是就是人们常说的器 ...… 查看全部问答> |




