433无线串口模块实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
433无线串口模块实验

433无线串口实验 1.433无线串口模块简介 模块的作用是代替两个设备间的串口连接导线,以实现无线的数据传送。例如分别与模块连接的两个单片机,只要对串口收发操作即可,单片机不用对模块作任何控制。这个很方便的现实无线通信。 模块一般成对使用的,以半双工的方式传送数据。成对的两个模块,波特率和通信频道必须设为一样的。如果周围有多个模块,频道的设置就很有必要了,因为频道数一样的模块间,数据都是透传的。 无线串口模块默认设置是:通信波特率9600,无线通信频道001。用户可以改为其它值。可以通过先拉低第5引脚再上电的步骤,恢复默认的波特率9600、频道001。 433无线串口模块如图所示: 2.AT指令集说明 进入AT指令模式分两种 第一种:接通3.3V电压后,再将第5引脚拉低(一直为低),模块就处在AT指令模式,拉高则退出指令模式。 第二种:断电,第五引脚先接低电平再重新上电,过1S以后进入AT模式,拉高则退出指令模式。 指令如下所述: 2.1 AT ?????发送这个命令,将返回OK字符。 ?????例:发AT返回OK ? 2.2 AT+V ?????模块返回版本信息。 ?????例:发AT+V返回HC-11_V0.0 ? 2.3 AT+Bxxxx ?????将波特率设为xxxx。这个值可为2400,4800,9600,19200,38400,57600,115200。 ?????例1:发AT+B4800返回OK-4800 ?????例2:发AT+B115200返回OK-115200 ? 2.4 AT+Cxxx ?????设置通信频道。从001到127可选。 ?????例:发AT+C058返回OK-058 2.5 AT+FUx ? ? ? ?切换串口透传模式。x的值1~4可选。 ? ? ? ?例:发AT+FU1返回OK+FU1 硬件设计 本实验需要用到的硬件资源有:STM32F103X单片机,433无线串口模块。 本实验将用到STM32单片机的串口1,这里我们将使用433无线串口模块的默认设置(波特率9600,信道一),将433模块RX端与STM32 USART1的TX端(PA9)连接,433模块TX端与STM32 USART1的RX端(PA10)连接。 软件设计 4.1对USART1进行初始化,代码如下: //初始化 IO 串口 1 //bound:波特率 void uart_init(u32 bound) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; //①串口时钟使能,GPIO 时钟使能,复用时钟使能 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1| RCC_APB2Periph_GPIOA, ENABLE); //使能 USART1,GPIOA 时钟 //②串口复位 USART_DeInit(USART1); //复位串口 1 //③GPIO 端口模式设置 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //ISART1_TX PA.9 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出 GPIO_Init(GPIOA, GPIO_InitStructure); //初始化 GPIOA.9 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //USART1_RX PA.10 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空输入 GPIO_Init(GPIOA, GPIO_InitStructure); //初始化 GPIOA.10 //④串口参数初始化 USART_InitStructure.USART_BaudRate = bound; //波特率设置 USART_InitStructure.USART_WordLength = USART_WordLength_8b; //字长为 8 位 USART_InitStructure.USART_StopBits = USART_StopBits_1; //一个停止位 USART_InitStructure.USART_Parity = USART_Parity_No; //无奇偶校验位 USART_In

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档