PIC16F690好用的串口调试助手怎么也调不好 要发送数据并返回到好用的串口调试助手助手显示

解决方案 - 单片机系列 - PIC单片机的IAI无线模块测试板
欢迎光临华胄科技,十年专注值得信赖,您的铁电专家!!
专注铁电! 专业技术! 专心服务!
华胄代理产品
解决方案类别
和谐兴业 创新强国
您的订货单:
总计: ¥面议
输入产品型号或关键词,获取相关解决方案
产品类别或产品型号,获取相关解决方案
PIC单片机的IAI无线模块测试板
  近年来,由于数据通信需求的推动,加上半导体、计算机等相关电子技术领域的快速发展,短距离无线与移动通信技术也经历了一个快速发展的阶段。短距离无线通信通常指的是l00m到200m以内的通信。
  它被广泛应用于无线数据采集、无线水表、煤气表、电力表抄表、工业遥控、遥测、工业数据采集、楼宇自动化、安防、机房设备无线监控、家庭自动化数据网络组网等领域。
  美国Silicon Laboratories公司作为专业的无线芯片开发和生产商,它的IAI系列无线芯片具有集成度高,外围元件少,功耗低,性能稳定可靠,芯片内部集成了FSK无线收发必需的全部功能模块,包括多边带PLL合成器、PA、LNA、混频器、基带滤波器、中频放大器、信号强度指示RSSI、数据质量侦测DQD、电池电压侦测、AFC和微控制器等,非常适合用于短距离无线通讯产品。本文介绍了贝能科技采用IA4421芯片开发的两种无线通讯模块PHY和EV-IA(如图1,图2)。PHY模块是不带MCU而向外提供一个SPI接口;EV-IA4421模块是带MCU并向外提供一个串口。这样可以方便用户使用和开发。&
图2 EV-IA4421
  针对这两种模块,我们设计了一个适用这两种模块的测试评估板。该测试板可以对这两个模块进行设置(主要对IAI4421寄存器设置),这样方便客户评估,测试IA系列产品的的性能。
  基本概述:
  该测试板的组成采用PIC单片机PIC16F777作为主控芯片;一个LCD1602作为显示器件;4个轻触按键作为作为用户输入;一个可以连接电脑的串口;还有连接两通讯模块的接口。用户可以通过按键和LCD可以很直观地对IAI4421芯片寄存器、通讯速率等进行设置,还可以通过LCD监控数据传输过程的正确性和完整性。
  本文主要介绍该测试板的一些主要功能和原理以及其使用的方法,以便大家对其有一个初步的了解。
  主要功能:
可设置4位的发射地址码:用户可以通过菜单设置4位的地址即0~F,并与从机地址设置对应,这样就可以不受其他模块的干扰,可以多个模块同时工作。
可设置模块的工作频段:由于IAI系列芯片支持3频段分别为433MHZ、868MHZ、915MHZ,通过设置不同的频段可以适应使用不同频段的硬件。
可设置模块的发送速率:芯片支持不同的发射速率,用户可以根据需要进行调整;
可设置发送数据的时间间隔和发送的次数;&
可以设置串口波特率(与硬件连接相对应);
可显示接收数据的内容和接收数据的次数,当前通讯速率等信息;
  硬件组成框架:
  各部分硬件接口:
LCD1602接口(图3)
  LCD1602采用8数据线接口(data0-data7),有利于快速刷新需要显示的数据,RS、RW、E三线控制。
LCD电路接口
串口电路(图4)
  串口电路采用MAX232作为电平转换芯片,与电脑连接,接收电脑& 的输入命令。TX串行数据输出(无线接收到的&
数据),CRX串行数据输入(要发送的数据)。
串口电路接口
EV-IA模块接口电路(图5)&
  EV-IA是已经带有一个PIC16F690的模块。VCC使用5V电源供电;TX、RS作为一个标准的波特率可选的串口作为与测试板之间的通讯,所有对模块的操作都使用这个串口完成;/PD待机控制,/PD=0时,模块进入待机状态,/PD=1,模块正常工作;RSSI无线信号强度输出,输出电压和信号强度成正比,是一个模拟信号,测试板通过AD转换对其捕捉。
EV-IA4421接口电路
PHY模块接口电路(图6)
  PHY只需使用5个I/O口即可工作,它采用SPI兼容的控制接口作为数据通讯接口。我们测试板也正是使用这种方式与PHY模块进行谅解的。各个接口功能如下:SCK:SPI串口时钟输入;SDI:SPI串口数据输入;NSEL:SPI片选输入(低电平有效);SDO:SPI串口数据输出;NIRQ:中断请求输出(低电平有效)。&
PHY模块接口电路
按键电路(图7)
  四个轻触按键作为用户的输入,用户按键的输入判断是采用普通的I/O方式。具体每个按键定义为:UP键用于上移菜单;DOWN键用于下移菜 单;ENTER键用于确认选择;SEND用于启动发送数据。
按键电路
  电源部分:
  考虑到使用的方便性,再电源供电上采用了两种供电方式:一种直流9V~12V 电源适配器的输入;另一种是用9V的纽扣电池供电。用户可采用其中的一种。
  以上是该测试板的硬件的主要组成部分,每个部分都只是作了比较简单的介绍。
  软件组成框架:
  软件流程如图8所示,软件系统在MCU中执行,分为系统初始化、主循环流程与中断服务程序。下面对其作一个简单的介绍:
  MCU初始化函数,主要是对MCU定时器设置、串口、中断设置和各个端口的输入输出设置等等;
  按键事件管理函数,它定时检测按键板上的按键输入,设置和保存相应的标志位,并把按键对应信息映射成相应的驱动事件;
  主循环函数是整个软件系统的一个核心部分,各种事件的触发和各个用户接口管理都由这个函数完成,每个子程序管理着不同功能。
软件流程
  主循环是软件的基本控制部分,它是一个无限时间的循环,当中包含了许多子程序,诸 如:Check if it’s time to execute events(定时器时间事件处理)、Mode Handler(模式识别处理)、Key Scan Handler(电源管理)、OSD Event Handler(菜单事件处理&—当中也包含了按键处理)、Debug Handler(调试处理)。通过这一系列的管理函数,不断的检测事件的发生并执行相应的功能操作。
  小结
  本文对DEMO板的功能、硬件和软件作了一个简单的介绍,该demo板主要是为贝能公司开发的PHY和EV-IAM无线模块提供一个方便的使用和测试平台,以便用户可以对其作评估,使其更快地应用于产品当中。
产品快速搜索
Copyright (c)
HUAZHOU LTD.allreserved Designed by huazhouzcn.com&&&&深圳市华胄科技有限公司 粤ICP备号-1 版权所有串口调试助手使用说明和技术总结_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
串口调试助手使用说明和技术总结
&&串口调试助手使用说明和技术总结-心得体会,经验介绍
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢程序中为什么收不到串口发来的数据,而串口调试助手却可以?
[问题点数:20分,结帖人mosquit]
程序中为什么收不到串口发来的数据,而串口调试助手却可以?
[问题点数:20分,结帖人mosquit]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|stm32 芯片将收到数据返回给串口调试助手。不管串口调试助手发送什么,返回的值都为0x00。_百度知道
stm32 芯片将收到数据返回给串口调试助手。不管串口调试助手发送什么,返回的值都为0x00。
if(USART_GetFlagStatus(USART2, USART_FLAG_RXNE)==SET)
USART_SendData(USART2, USART_ReceiveData(USART2));
while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET);//等待发送结束
注单独利用串口发送数据是正...
我有更好的答案
分两步写成data = USART_ReceiveData(USART2); USART_SendData(USART2, USART_ReceiveData(USART2))把USART_SendData(USART2, data);看一下data的值是否正确?既然单独利用串口发送数据是正常的
你说的这种方式我也试过,也是同样的问题。运行过程if(USART_GetFlagStatus(USART2, USART_FLAG_RXNE)==SET),这个条件是满足的,说明是有收到数据。只是发送回去的数据不正确。另外,我利用虚拟在线调试,是能够正常收发,不会出现上述问题。
我的意思是你收到了数据,但是否收到了正确的数据?用单步调试看一下收到的数据是否对?如果收到的数据是对的,把data = USART_ReceiveData(USART2); 注释掉,把data改为一特定值再看看行不行,如果也不行,就和你的“利用虚拟在线调试,是能够正常收发”矛盾了,看看两者之间的差异吧
采纳率:50%
为您推荐:
其他类似问题
led显示屏的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 好用的串口调试助手 的文章

 

随机推荐