历史上的今天
返回首页

历史上的今天

今天是:2025年06月01日(星期日)

2018年06月01日 | STM8固件库+IAR 之--UART3

2018-06-01 来源:eefocus

Stm8的串口:主要功能:

1:支持异步传输所以成为UART

2:lin模式 主从

3:红外编码模式

4:智能卡模拟功能
以上功能并不是所有串口都支持,stm8最多的是3个串口,配置简单,多说无益

本来想先写定时器1来着,可手头上正好有串口的程序,整理整理先贴上来呗~

首先到stm8s_conf.h把 #define _UART3 (1) 打开,否则uart3不能用,重新编译一下静态库

贴main.c代码:

 

#include "stm8s.h"

/*========内部高速时钟初始化========*/
void init_hsiclk(void) 

CLK_DeInit(); //寄存器复位
CLK_HSICmd(ENABLE); //内部高速时钟使能 
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2); //内部8分频 2M
}

/*==========串口初始化===========*/
void init_uart3(void)
{
UART3_DeInit(); //复位
UART3_Init(9600,UART3_WORDLENGTH_8D,UART3_STOPBITS_1,UART3_PARITY_NO,UART3_MODE_TXRX_ENABLE);//9600,8,1,0 读写使能
UART3_Cmd(ENABLE);
}
/*========GPIO初始化========*/
void init_gpio(void) 

GPIO_DeInit(GPIOD); //PD口复位
GPIO_Init(GPIOD , GPIO_PIN_2 , GPIO_MODE_OUT_PP_LOW_SLOW); // LED2初始化 推挽输出
}

/*========延时函数===========*/
void delay(u16 n)
{
u16 i=0;
while(n--)
{
for(i=0;i<330;i++);
}
}

/*========主函数===========*/
void main(void)
{
init_hsiclk();
init_gpio();
init_uart3();
while (1)
{
if(UART3_ReceiveData8()==0xAA) //发送0xAA,则灯闪发0xBB
{
UART3_SendData8(0xBB);
GPIO_WriteReverse(GPIOD,GPIO_PIN_2); 
delay(1000);

}
}

 

附:LIN简介

LIN协会创建于1998年末,最初的发起人为五家汽车制造商,一家软件工具制造商以及一家半导体厂商。该协会将主要目的集中在定义一套开放的标准,该标准主要针对车辆中低成本的内部互联网络(LIN, local interconnect networks),这些地方无论是带宽还是复杂性都不必要用到CAN网络。LIN标准包括了传输协议的定义、传输媒质、开发工具间的接口、以及和软件应用程序间的接口。LIN提升了系统结构的灵活性,并且无论从硬件还是软件角度而言,都为网络中的节点提供了相互操作性,并可预见获得更好的EMC(电磁兼容)特性。

LIN补充了当前的车辆内部多重网络,并且为实现车内网络的分级提供了条件,这可以有助于车辆获得更好的性能并降低成本。LIN协议致力于满足分布式系统中快速增长的对软件的复杂性、可实现性、可维护性所提出的要求,它将通过提供一系列高度自动化的工具链来满足这一要求。

LIN总线的主要特性为:
*单主站以及多从站概念;
*基于常用的UART/SCI硬件接口,以及相应的软件,或作为纯粹的状态机,从而保证较低的成本;
*从节点中无须石英或陶瓷振荡器就可以实现自同步;
*信号传输实体确定,在增强系统中可以计算信号的传播(propagation)时间;
*信号基于应用交互层。

LIN网络由一个主节点以及一个或多个从节点组成,媒体访问由主节点控制--从节点中不必有仲裁或冲突管理。可以保证最差状态下的信号传输延迟时间。

LIN物理层

总线驱动/接收器的定义遵循ISO 9141单线标准,并带有一些增强性能。总线为单线传输,"与"总线通过终端电阻由电池正极节点(VBAT)提供。总线收发器采用增强型的ISO 9141实现标准。总线可以取两个互补的逻辑值:主控值其电压接近于接地端,代表逻辑值"0",退让值其电压与电池电压接近,代表逻辑值"1"。

总线采用上拉电阻作为终端,主节点的上拉电阻为1kOhm,从节点的上拉电阻为30kOhm。电阻需串联一个二极管以防止由于本地电源泄漏对总线产生的干扰。从节点的终端电容通常值为 CSlave= 220pF,主节点的电容要更高以使整个总线的电容小于从节点的值。

由于采用单线媒质传输,最大的传输波特率被限定在20kbit/s以内。该值为从满足信号同步而不产生冲突的最高值,到为满足电磁兼容性要求而要达到的传输最低值之间的实验中间值。最小的传输波特率为1kbit/s--这有助于避免在实际中产生超时冲突。

LIN协议

通过LIN总线传输的实体为帧。一个报文帧由帧头以及回应(数据)部分组成。在一个激活的LIN 网络中,通讯通常由主节点启动,主节点任务发送包含有同步间隙的报文头,同步字节以及报文标志符(ID)。一个从节点的任务通过接收并过滤标志符被激活,并启动回应报文的传送。回应中包含了1到8个字节的数据以及一个字节的校验码。

传输一帧所花费的总的时间是发送每个字节所用的时间,加上从节点的回应间隙,再加上传输每个字节的间隙时间(inter-byte space)。字节间隙是指发送完前一个字节的停止位后到发送下一个字节的启动位之间的时间。

帧内部间隔(inter-frame space)是从上一帧发送完毕后到下一帧启动发送间的时间间隔。

帧的结构如图1所示。帧由帧间间隔以及接下来的4到11个字节域组成。


图1:帧结构

信号在帧的数据域中传送。多个信号可以打包在一个帧中传送,只要这些信号不彼此重叠即可。
每个信号只有一个明确的传输者,例如,通常由一簇(cluster)节点中的一个来写,0、1或多个节点订阅该信号。

LIN协议的核心特性是使用进度表(schedule table)。进度表有助于保证总线不出现过载的情况,他们同样是保证信号定期传输的核心组件。
在一组LIN节点中只有主节点任务才可以启动通讯保证了行为的确定性。主节点有责任保证与操作模式相关的所有帧都必须分配了足够长的传输时间。

LIN应用

采用LIN可实现车内网络分级,从而成为车辆制造商提供更高的质量及更低成本的重要因素。它可以为工业领域的软件开发提供最好的实现方式:抽象及更好的组合能力。LIN可以简化很多现有的低端复合解决方案,并且可以降低车辆电子系统的开发、生产、服务及后勤成本。

采用配备LIN的轿车生产线正在快速增长,而下一代轿车雄心勃勃的计划也许是LIN成功的最好证明。简捷而完整的LIN规范包含了完整的网络概念,极高的自动化程度已经使LIN和CAN成为了车内通讯网络的主干。一部分市场增长甚至出现在车内网络部分减少的地方。

2003年发布的LIN 2.0规范增强了组件在不同车辆生产厂商间的通用性,并且通过引入节点能力描述文件(Node Capability Description File)增强了自动化设计能力,同时还对同一网络中的相同LIN设备定义了重配置机制。


推荐阅读

史海拾趣

DFI公司的发展小趣事

在稳固了国内市场地位后,DFI开始将目光投向全球市场。公司积极开拓北美、拉丁美洲和亚太地区的业务,通过参加国际展会、与当地企业建立合作关系等方式,不断提升品牌知名度和市场份额。同时,DFI还针对不同地区的市场需求,推出定制化的产品和服务,以满足客户的多样化需求。这一全球化战略使DFI在国际市场上取得了显著的成绩。

Davies Molding公司的发展小趣事

Davies Molding公司自创立之初,就将产品质量视为企业的生命线。在早期,公司创始人意识到,只有提供高品质的塑料注塑成型产品,才能在竞争激烈的电子行业中立足。因此,公司投入大量资源在研发、生产和质量控制上,确保每一件产品都符合严格的标准。这种对品质的坚持,不仅赢得了客户的信任,也为Davies Molding公司赢得了良好的口碑。

Electro-Optical Systems Inc公司的发展小趣事

进入21世纪,EOS在红外探测器领域取得了重大技术突破。他们成功将探测器的波长范围扩展到远红外(40微米)领域,这一成果在行业内引起了广泛关注。同时,EOS的产品也凭借其高性能、高可靠性和高稳定性,赢得了广大用户的认可和信赖。他们开始与国内外多家知名企业建立合作关系,产品广泛应用于军事、科研、安防等领域。

无锡友达公司的发展小趣事

无锡友达电子有限公司自2002年成立以来,就致力于半导体集成电路设计领域。在初创阶段,公司凭借对高性能模拟和数模混合集成电路的深刻理解,迅速推出了多款性能优异的功放、电源等系统方案。这些产品在电视机、音响设备等领域的广泛应用,为公司赢得了市场的初步认可。通过不断的技术创新,无锡友达逐渐在电子行业崭露头角。

Chemi-Con公司的发展小趣事

在追求经济效益的同时,Chemi-Con公司也积极履行社会责任。公司注重环保和可持续发展,采用环保材料和生产工艺,减少对环境的影响。此外,Chemi-Con还积极参与社会公益事业,为社会的和谐发展做出贡献。这种负责任的态度不仅赢得了社会各界的认可,也为公司的长远发展注入了正能量。

这五个故事展示了Chemi-Con公司在电子行业中的发展历程和取得的成就。通过技术创新、品质管理、市场拓展、多元化发展和社会责任等方面的努力,Chemi-Con逐渐在电子行业中崭露头角,成为了铝电解电容器领域的佼佼者。

FINDER公司的发展小趣事

在电子行业的发展过程中,Chemi-Con公司意识到单一产品线的局限性,并开始积极探索多元化发展的道路。公司不仅拓展了电容器产品的应用领域,还涉足了光电子机械等新兴产业。此外,Chemi-Con还积极寻求与其他企业的合作,通过技术共享、资源共享等方式实现共赢。这种开放、合作的姿态使得Chemi-Con在行业中树立了良好的形象,也为公司的长远发展奠定了坚实的基础。

问答坊 | AI 解惑

有没有stellaris关于USB的例程?

刚接触Stellaris,关于USB的例程只有看到BULK的,而且是使用库文件编写好的,看了源程序,进行了修改,编译出来usblib.a后 不知道该如何使用,希望有人能够帮帮忙,或者提供一个基于Stellaris的USB例程,不要BULK那个库里直接调用的 最好是基于AP ...…

查看全部问答>

基于ARM7 和ZigBee 的短距离无线通信系统的设计

摘要:随着无线通信技术的迅速发展, 新的技术不断出现。短距离无线通信技术已成为无线通信技术的新热点,作为IEEE802.15.4 标准的ZigBee技术是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术, 主要用于近距离无线连接。而A ...…

查看全部问答>

关于tornado 调试工具

关于tornado 调试工具,采用tornado的命令行编译的(make)带有调试信息的执行文件都可以跟踪吗?谢谢…

查看全部问答>

两年嵌入式学习的心得体会——欢迎大家来交流!

两年嵌入式学习的心得体会——欢迎大家来交流!   不知不觉搞嵌入式也快两年了。说到学习嵌入式,整理了一位资深嵌入式工程师的视频报告,里面讲到了嵌入式学习的要点和嵌入式学习需要重点掌握的知识点。希望能让那些将要学习嵌入式和正 ...…

查看全部问答>

哪里有vs2005智能设备的大屏幕的模板?

哪里有vs2005智能设备的大屏幕的皮肤? C:\\Program Files\\Microsoft Visual Studio 8\\smartdevices\\Skins\\PocketPC_2003\\PocketPC_2003_Square\\2052\\PocketPC_2003_Square_Skin.xml 这些PocketPC_2003  Smartphone_2003都太小 ...…

查看全部问答>

【求助】问个电平匹配的问题!

430的输入逻辑高电平是0.8Vcc,0.8*3.3=2.64V,我用的器件的输出逻辑高电平是4.5V,电平是匹配了,可这样会不会烧坏430呢,430管脚最大允许电压是多少呢?我查的信息不统一。麻烦你了各位了!谢谢!…

查看全部问答>

PWM控制LM358输出0~10V出现问题!!

原理图附上,现在用2个PWM分别控制LM358的2个通道运放输出0~10V,出现问题:     PWM相同占空比:通道1输出10V                           &nb ...…

查看全部问答>

朱兆祺教你如何攻破C语言学习、笔试与机试的难点(连载)

第一节  C语言编程中的几个基本概念 1.1      #include< >与#include\" \" 1.   #include< >和#include\" \"有什么区别?这个题目考查大家的基础能力,#include< >用来包含开发环境提供的库,#in ...…

查看全部问答>

ADI高速数据传输(四)

replyreload += \',\' + 1653371;PC Board Layout and Design Tools 由于本份材料是英文版的,有需要的请回复下载,分为四个帖子发布。目录如下 Timson,如果您要查看本帖隐藏内容请回复 …

查看全部问答>