STM8固件库+IAR 之--UART3

发布者:量子心跳最新更新时间:2018-06-01 来源: eefocus关键字:STM8  固件库  IAR  UART3 手机看文章 扫描二维码
随时随地手机看文章

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设备定义了重配置机制。


关键字:STM8  固件库  IAR  UART3 引用地址:STM8固件库+IAR 之--UART3

上一篇:STM8 寄存器与官方库的组合使用
下一篇:STM8L151在STVD/IAR下重定向printf函数

推荐阅读最新更新时间:2024-03-16 16:04

STM8 低功耗模式
四种STM8低功耗模式的主要特性如表12。 (表12:STM8S低功耗模式管理) 1.如果外设时钟未被关闭 2.包括通讯外设的中断(参见中断向量表) STM8等待(Wait)模式 在运行模式下执行WFI(等待中断)指令,可进入等待模式。此时CPU停止运行,但外设与中断控制器仍保持运行,因此功耗会有所降低。等待模式可与PCG(外设时钟门控),降低CPU时钟频率,以及选择低功耗时钟源(LSI,HSI)相结合使用,以进一步降低系统功耗。参见时钟控制(CLK)的说明。 在等待模式下,所有寄存器与RAM的内容保持不变,之前所定义的时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。 当一个内部或外部中断请求产生时,CPU从等待模
[单片机]
<font color='red'>STM8</font> 低功耗模式
菜鸟初识STM32固件库文件夹
ARM、TI、ST等公司在嵌入式学习者眼中的区别 ARM 是一个做芯片标准的公司,它负责的是芯片内核的架构设计,而 TI,ST 这样的公司,他们并不做标准,他们是芯片公司,他们是根据 ARM 公司提供的芯片内核标准设计自己的芯片。所以,任何一个做 芯片 (例如Cortex-M3),他们的内核结构都是一样的,不同的是他们的存储器容量,片上外设,IO 以及其他模块的区别。所以你会发现,不同公司设计的 芯片(例如Cortex-M3)他们的端口数量,串口数量,控制方法这些都是有区别的,这些资源他们可以根据自己的需求理念来设计。同一家公司设计的多种内核芯片(例如Cortex-M3)的片上外设也会有很大的区别.通过ARM公司的《Cortex-
[单片机]
开发工具之IAR新建STM8工程
熟能生巧,按照规则多创建几次! 说在前面的话:一直以来想使用IAR开发个项目,这次机会来了,公司要做个测试工装,选的MCU是意法半导体的STM8S105系列芯片 第一个想法就是放弃用烂的KEIL,尝试使用IAR开发这个项目 开发环境:Windows 7 专业版、IAR EW for STM8 3.11.1 准备工作:下载安装EWSTM8,在我另一个随笔已经详细写了      下载STM8S标准外设库 https://pan.baidu.com/s/1uVVyOgmWc7D2dQR0nShUDQ 提取码: vaqr 文件夹准备:建立项目驱动文件夹,名称为项目名“01 Drv”,建立项目应用文件夹“02 App”;
[单片机]
开发工具之<font color='red'>IAR</font>新建<font color='red'>STM8</font>工程
STM8 可配置时钟输出寄存器
STM8可配置时钟输出寄存器 地址偏移值:0x09 复位值:0x00 位7 保留。始终为0。 位6 CCOBSY:可配置时钟输出忙 由硬件置位或清除。用于指示所选的CCO时钟源正处于切换状态或稳定状态。当CCOBSY为1 时,CCOSEL位域将被写保护。CCOBSY保持为1直至CCO时钟被使能。 0:CCO时钟空闲 1:CCO时钟忙 位5 CCORDY:可配置时钟输出准备就绪 由硬件置位或清除。用于指示CCO时钟的状态 0:CCO时钟可用 1:CCO时钟不可用 位4:1 CCOSEL :可配置时钟输出源选择 由软件写入。用于选择CLK_CCO管脚上的输出时钟源。当CCOBSY=1时,该位域被写保护。 0000:fHSI
[单片机]
<font color='red'>STM8</font> 可配置时钟输出寄存器
STM8 HSI时钟修正寄存器
STM8 HSI时钟修正寄存器(CLK_HSITRIMR) 地址偏移值:0x0C 复位值:未定义 位7:4 保留。始终为0。 位3:0 HSITRIM :HSI修正值 由软件写入,用于微调HSI的校准值 注意:在大容量产品上,只有位2:0是可用的。 在中等容量或小容量产品上,位3:0或2:0是可用的,取决于选项字节的配置(参见数据手册)。
[单片机]
<font color='red'>STM8</font> HSI时钟修正寄存器
STM8 AD转换
系统功能 大部分STM8内部带有AD,本节以使用STM8S105的内部AD为例,给出AD转换中断程序。    硬件设计 AD转换值低位,LED控制电路原理图 AD转换值高位,LED控制电路原理图 软件设计 /********************************************************************* 目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 *********************************************************************/ #include stm8s207s8.h v
[单片机]
<font color='red'>STM8</font> AD转换
STM8 窗口看门狗(WWDG)
STM8窗口看门狗介绍 窗口看门狗用于监测由于外部干扰或不可预知的逻辑条件所产生的软件错误,这样的软件错误通常会导致应用程序不按照预期的方式运行。除非程序在递减计数器的T6位变为0之前刷新递减计数器,看门狗电路将在一个预置的时间间隔后产生系统复位;如果在7位的递减计数器数值达到窗口寄存器数值之前刷新递减计数器,同样会产生系统复位。这就意味着只能在一个有限的时间窗口内刷新递减计数器。 WWDG主要功能 ●可编程的自由运行递减计数器 ●有条件的复位 ─如果开启了看门狗,当递减计数器的数值小于0x40时产生复位 ─如果开启了看门狗,当在指定的时间窗口之外重加载递减计数器的数值(见图27)时产生复位 ●硬件或软件启动看门狗(由选择字节指
[单片机]
<font color='red'>STM8</font> 窗口看门狗(WWDG)
IAR Systems发布支持Freescale ColdFire架构的开发工具
全球领先的嵌入式开发工具供应商IAR Systems,日前发布支持Freescale ColdFire MCU架构的开发工具套件—IAR YellowSuite。嵌入式开发人员可以在基于V1和V2内核的ColdFire系列芯片上使用这套开发工具。IAR Systems还计划在2008年第一季度推出支持Freescale S08 8位芯片的开发套件。 Freescale消费与工业微控制器部门的全球产品经理Jeff Bock说:“IAR YellowSuite for ColdFire为设计者建立基于ColdFire V1和V2内核的嵌入式系统提供了一个强大的开发工具。我们与IAR Systems公司的合作也说明开发人员在使用先进的
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved