STM32W108无线射频模块串行通信接口

原创 2015年07月07日 08:42:27

串行通信控制模块

STM32W108有两个串行通信控制器:SC1SC2,它们为全双工同步和异步串行通信提供了如下几个选项:

l   SPI(串行外设接口),主从型

l   I2C(内部集成电路),主型

l   UART(通用异步接收器/发送器),只有SC1

l   接收和发送FIFO和DMA通道,SPI和UART模式

接收和发送FIFOs可以获得更快的数据传输速度,对于高速的SPIUART,分配专用的接收和发送的DMA通道,以减少CPU的负荷,增加了串行中断控制器的CPU服务时间。轮询操作也可以直接访问串行数据寄存器,图8.1显示了串行通信控制器的组件关系。

注:用符号SCx代替SC1SC2去表示一个寄存器命名中的一部分,例如SCx_Tx表示SC1_TxSC2_Tx都有效。

DMA

DMA通道部分介绍了如何配置和使用串行接收和传输DMA通道。

接收DMA通道有专门的规定来记录UART接收错误,DMA通道从接收FIFO中传送一个字符到缓冲区时,它会检查存储的奇偶校验以及帧错误状态标志。当一个错误被标记时,SC1_RXERRA/B寄存器将被更新,标记接收的第一个带有奇偶校验或帧错误接收字符的偏移量。同样,如果接收溢出错误发生时,SC1_RXERRA/B寄存器标记错误偏移量。接收FIFO硬件产生INT_SCRXOVF中断,并且DMA状态寄存器会立即指示错误,但在这种情况下,该错误偏移量是输入接收FIFO的实际溢出位置之前的4个字符。两种情况会清除错误指示:在SC1_DMACTRL寄存器中设置适当的SC_RXDMARST位,或卸载并重新加载相应的DMA缓冲区。

 

中断

UART中断发生在以下事件:

l   发送FIFO为空和最后一个字符移出(根据SCx_INTMODE,SC1_UARTTXIDLE寄存器位从0到1的跳变或为高电平)

l   发送FIFO从满到不满(根据SCx_INTMODE,SC1_UARTTXFREE寄存器位从0到1跳变或为高电平)

l   接收FIFO从空变为不空(根据SCx_INTMODE,SC1_UARTRXVAL寄存器位从0到1跳变或为高电平),

l   发送DMA缓冲区的A/B完成(SC_TXACTA/B由1跳转到0)

l   接收DMA缓冲区的A/B完成(SC_RXACTA/B由1跳转到0)

l   接收到的字符奇偶校验错误

l   接收到的字符有帧错误

l   接收FIFO满时,接收字符丢失(接收溢出错误)

为了确保CPU中断,在第二级的INT_SCxCFG寄存器设置所需的中断位,并且通过在INT_CFGSET寄存器中将INT_SCx位置1启用NVIC中的顶级SCx中断。 

 

本文出自《STM32W108嵌入式无线传感器网络》邱铁,夏锋,周玉编著.清华大学出版社,2014年5月

STM32W108无线射频模块串行通信接口编程实例

基于STM32W108芯片,编写串口测试程序,测试串口通信,完成PC通过串口与STM32W108进行通信。...
  • u010273356
  • u010273356
  • 2015年07月12日 19:07
  • 1368

CC1101 433无线模块,STM8串口透传

前一段时间画了一个CC1101收发小板子,但是一直没有成功,最后发现把
  • cp1300
  • cp1300
  • 2014年06月14日 08:28
  • 19565

STM32W108无线射频模块通用IO接口应用实例

本实例编写STM32W108的GPIO测试程序,通过控制GPIO引脚,实现对LED灯的控制。 开发环境与硬件说明 硬件:STM32W108无线开发板,5V 1A电源,J-Link烧写器,PC机等。 软...
  • u010273356
  • u010273356
  • 2015年07月10日 12:44
  • 1036

STM32W108无线射频模块串行通信接口编程实例

基于STM32W108芯片,编写串口测试程序,测试串口通信,完成PC通过串口与STM32W108进行通信。...
  • u010273356
  • u010273356
  • 2015年07月12日 19:07
  • 1368

STM32W108无线射频模块通用IO接口

24个GPIO引脚可分为三组端口:PA、PB、PC。根据它们在GPIO寄存器中的位,每组端口中的GPIO又分别编号为0-7。 注:由于GPIO端口寄存器的功能是相同的,使用符号Px代表PA、PB、PC...
  • u010273356
  • u010273356
  • 2015年07月04日 07:17
  • 461

STM32W108无线射频模块两节点之间通信实例

本文基于802.15.4/ZigBee的SimpleMac协议栈编写程序,实现两个STM32W108无线节点之间的通信。节点分为SUN节点和PLANET节点,SUN节点使用STM32W108无线开发板...
  • u010273356
  • u010273356
  • 2015年07月07日 19:27
  • 604

STM32W108无线射频模块外部中断接口应用实例

STM32W108无线射频模块外部中断接口应用实例 编写中断服务程序,响应外部中断,实现通过按键触发中断,然后通过LED显示相应的状态。 1 STM32W108开发环境与硬件说明 硬件:...
  • u010273356
  • u010273356
  • 2015年07月11日 18:29
  • 428

STM32W108无线射频模块通用IO接口应用实例

本实例编写STM32W108的GPIO测试程序,通过控制GPIO引脚,实现对LED灯的控制。 开发环境与硬件说明 硬件:STM32W108无线开发板,5V 1A电源,J-Link烧写器,PC机等。 软...
  • u010273356
  • u010273356
  • 2015年07月10日 12:44
  • 1036

STM32W108无线射频模块协议栈接口

基于STM32W108 ST公司当前推出了三种不同类型的无线网络应用解决方案: 1. MAC协议栈:实现基本的IEEE 802.15.4通信,在此基础上可以开发简单的WSN应用协议,如点对点网络、星型...
  • u010273356
  • u010273356
  • 2015年07月07日 09:00
  • 603

STM32W108无线射频模块中断控制器(NVIC)

器(NVIC)提供顶层(一级)中断,一个事件管理器(EM)提供第二级中断。NVIC和EM提供了一个简单的层次结构,所有EM的第二级中断都会送入NVIC中的顶层中断。这两个层次结构既允许很好的微观控制中...
  • u010273356
  • u010273356
  • 2015年07月07日 08:38
  • 489
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STM32W108无线射频模块串行通信接口
举报原因:
原因补充:

(最多只允许输入30个字)