历史上的今天
返回首页

历史上的今天

今天是: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进行重映射。

推荐阅读

史海拾趣

Anderson Power Products公司的发展小趣事

Anderson Power Products(APP)是一家专注于电源连接器和配件的制造商,以下是该公司发展的相关故事:

  1. 公司成立与初期阶段:Anderson Power Products成立于1936年,总部位于美国华盛顿州斯特林。最初,公司主要从事电源连接器的制造和销售。创始人是William M. Anderson和Harold J. McKenzie,他们致力于提供高质量、可靠的连接器产品,以满足不断增长的市场需求。

  2. 技术创新与产品发展:随着市场的不断变化和技术的进步,Anderson Power Products不断进行技术创新和产品开发。公司推出了一系列新型的电源连接器和配件产品,包括Powerpole®连接器、SB®连接器等,这些产品具有高功率密度、高可靠性和易用性的特点,得到了广大客户的青睐。

  3. 客户合作与市场拓展:Anderson Power Products与全球各个行业的客户建立了长期稳定的合作关系。公司的客户群涵盖了汽车、航空航天、工业、能源等多个领域。通过与客户的紧密合作,Anderson Power Products不断拓展市场份额,提升品牌知名度,成为电源连接器领域的领先供应商之一。

  4. 全球布局与生产基地:为了更好地服务全球客户,Anderson Power Products在全球建立了多个生产基地和销售办事处。除了在美国的总部外,公司还在欧洲、亚洲等地区设立了生产工厂和销售办事处,以满足不同地区客户的需求。这些生产基地拥有先进的设备和技术,能够为客户提供高质量的连接器产品。

  5. 持续创新与未来展望:作为一家专注于电源连接器的公司,Anderson Power Products将继续致力于技术创新和产品发展。公司将不断推出适应市场需求的新产品,提升生产效率和产品质量,以满足客户不断变化的需求。同时,Anderson Power Products也将继续关注行业的发展趋势和技术变革,不断调整战略,保持在行业内的竞争优势。

CAROLCABLE公司的发展小趣事

在激烈的市场竞争中,CAROLCABLE公司深知技术创新是企业发展的核心动力。因此,公司不断加大研发投入,引进先进的生产设备和技术人才,推动技术创新和产业升级。经过多年的努力,CAROLCABLE成功研发出了一系列具有自主知识产权的高性能线缆产品,这些产品在传输速度、稳定性和耐用性等方面均达到了行业领先水平。

随着产品技术的不断升级,CAROLCABLE开始积极拓展国内外市场。公司参加了多个国际电子线缆展会,与全球同行交流学习,寻找合作机会。同时,CAROLCABLE还加强与国内大型电子企业的合作,为其提供定制化的线缆解决方案。这些举措不仅为公司带来了更多的商机,也进一步巩固了CAROLCABLE在电子线缆行业的领先地位。

这两个故事仅是对CAROLCABLE公司发展起来的简要描述,实际上,公司的成长历程中还有许多值得探讨的细节和里程碑事件。如需了解更多关于CAROLCABLE公司的故事,建议查阅相关新闻报道或公司官方资料。

Custom LeatherCraft Manufacturing Co Inc公司的发展小趣事

CLC非常重视客户服务。他们设立了专门的客户服务部门,为客户提供咨询、售后支持和定制服务。无论客户遇到什么问题或需求,CLC都会尽全力解决和满足。这种贴心的服务赢得了客户的信任和忠诚,也促进了品牌的持续发展。

Alutronic Kuhlkorper Gmbh & Co Kg公司的发展小趣事

随着电子行业的迅速发展,工程师和技术人员需要携带的工具和设备也越来越多。CLC敏锐地捕捉到了这一变化,开始研发具有更多功能和口袋的工具包。同时,他们还引入了新的材料和技术,使产品更加轻便、耐用。这些创新设计不仅满足了客户的需求,还进一步巩固了CLC在市场上的地位。

中移物联网(Chinamobile)公司的发展小趣事

中移物联网在智能终端产品的创新方面也取得了显著成果。公司设计并生产了物联网专用模组和芯片,打造了智能组网、智能安防、智能家居、智能穿戴等行业终端。这些产品在市场上受到了广泛欢迎,特别是在智能家居和智能穿戴领域,中移物联网的产品凭借其高性能和稳定性,赢得了众多消费者的青睐。

Axon' Cable公司的发展小趣事

为了进一步扩大市场份额和提升竞争力,Axon' Cable公司开始实施全球化战略。公司在全球范围内设立了多个生产基地和研发中心,积极开拓国际市场。同时,Axon' Cable还加强了与国际知名企业的合作,共同推动技术创新和产业升级。这些举措使得Axon' Cable的产品在全球范围内得到了广泛应用,公司的国际影响力也逐步提升。

问答坊 | AI 解惑

优秀设计的十条戒律

钱又不够了,再上新内容…

查看全部问答>

关于LM3S8962评估板的OLED驱动芯片的中文手册

目前翻译了一些,通过翻译深入理解OLED现实原理,有助于后续项目的升入开发,共享给坛友,不对之处,请指正!…

查看全部问答>

请教一个移植boa的问题

请教一个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写数据寄存器,进入死 ...…

查看全部问答>

TI官网的ADC资料

本帖最后由 dontium 于 2015-1-23 13:13 编辑 大家参考一下 …

查看全部问答>

实现记录

数码管动态扫描实现了秒表、开始、暂停功能。开始/暂停公用一个键,还有一个键用来记录之前暂停的数(之前有多个暂停),要求至少能记录4个以上。求实现记录功能。 开始/暂停函数如下: void key_1 ()  // k1函数{    & ...…

查看全部问答>

在CCS4中编译BIOS项目时出错

我在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是不是就是人们常说的器 ...…

查看全部问答>