武林教你学PIC32(七)串口收数据

发布者:码字奇才最新更新时间:2017-02-17 来源: eefocus关键字:武林  PIC32  串口  收数据 手机看文章 扫描二维码
随时随地手机看文章

上节讲了串口如何发数据,这次我们介绍下查询和中断两种不同方法收数据

首先介绍几个相关函数如图所示:

下面我们就用这几个函数,实现输入字符串回显的功能:


关键字:武林  PIC32  串口  收数据 引用地址:武林教你学PIC32(七)串口收数据

上一篇:武林教你学PIC32(九)I2C DAC MCP4725
下一篇:武林教你学PIC32(六)串口发送数据

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

STM8串口UART调试记录
  本来UART的调试是非常简单的,但是在STM8上折腾了好几天,在此记录一下,希望遇到相同问题的朋友能够不折腾,工作顺利,生活开心! 问题描述:   使用STM8的UART1,波特率9600,发送中断关闭,接收中断打开。接收单字节,没有问题。接收多字节,接收数据不完整,而且每次丢失的字节个数固定,比如发送17个字节,每次都只能接收到到15个字节。 折腾过程:   1.按照网友说的如下,结果还是出现丢失数据。 if(UART1_GetITStatus(UART1_IT_RXNE) != RESET) {   temp = UART1_ReceiveData8(); }  2.添加处理过载时发生中断的处理,任然
[单片机]
#51单片机#蓝牙模块(ATKSPPHC06从机串口)的使用方法
#include AT89X51.H #include intrins.h // 函数原形定义 #define uchar unsigned char #define uint unsigned int void main (void); // 主函数 void LED_OUT(uchar X); // LED单字节串行移位函数 void LED_print (uchar p, uchar x) ; unsigned char code LED_0F ; // LED字模表 sbit DIO = P1^0; //串行数据输入 sbit RCLK = P1^1; //时钟脉冲信号 上升沿有效 sbit SCLK =
[单片机]
#51单片机#蓝牙模块(ATKSPPHC06从机<font color='red'>串口</font>)的使用方法
异步串口uart的c语言编程
#include io8535v.h #define uchar unsigned char #define uint unsigned int uchar Table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar Send_Da ta ={'a','b','c','d'}; uchar Receive_Da ta ={0,0,0,0}; void DelayMs(uint i) {uint j; for(;
[单片机]
基于串口通信的单片机仿真和C语言开发
0 引言 本论文题目为基于串口通信的单片机仿真和C 语言开发,研究的是一种基于串口的温度检测数据收发模块。利用DS18B20 温度传感器设计温度监测模块,精确到0.1℃,用液晶显示当前温度,然后通过串口调试助手向单片机发送指令。当单片机收到十六进制指令01时,将当前温度值以1s 为间隔传回PC 机显示,同时PC 机显示Turn on temp;当单片机收到十六进制指令02 时,停止温度值的回传,PC 机显示Turn off temp;当单片机收到其它指令时,PC 机显示Error。 1 总体设计 本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制功能等。 本系统的硬件采用模块化
[单片机]
51单片机串口使用方法与设计实验
很多朋友在使用单片机串口的时候存在着一定的问题,我根据自己的经验,给大家总结如下: 串口调试 经过调试,以上功能基本实现,目前可以通过上位机对单片机进行实时控制。 程序如下: //这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收 //和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样的 #i nclude reg51.h #i nclude stdio.h #i nclude string.h #define INBUF_LEN 4 //数据长度 unsigned char inbuf1 ; unsigned char checksum,count3 , flag,temp,ch
[单片机]
基于ZigBee Mesh网络的无线串口设计
    RS-232串行通信是异步通信中应用最广的标准总线,在没有Modem的情况下,一般传输距离限制在15 m内,使得远距离串口通信受到较大限制。无线技术是当今设备通信中取代有线技术的必然趋势。     本文利用ZigBee无线技术组成Mesh网络实施串口通信,网络中任意两个模块的传输距离可达100 m,如果模块有功放,传输距离可上升至1.5 km。因为Mesh网络的多跳性,数据能够多跳传输,所以数据的传输距离取决于跳数的多少,如图1所示S4经过3跳把数据传送到S1,如果每一跳距离是1 km,则传输距离达3 km,这有效地解决了有线串口传送的距离限制问题。同时,ZigBee网络中最大的数传速率为250 kb·s-1,完全能满足一般
[网络通信]
stm32 串口发送数据第一字节丢失
使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。 查阅stm32f10x参考手册,找到这样一句话: TC:发送完成 当包含有数据的一帧发送完成后,由硬件将该位置位。如果USART_CR1中的TCIE为1,则产生中断。由软件序列清除该位(先读USART_SR,然后写入USART_DR)。TC位也可以通过写入0来清除,只有在多缓存通讯中才推荐这种清除程序。 0:发送还未完成; 1:发送完成。 注意到这一句:由软件序列清除该位(先读USART_SR,然后写入USART_DR)。 也就
[单片机]
第42节:通过串口用delay延时方式发送一串数据
开场白: 上一节讲了在串口接收中断里即时解析数据头的特殊程序框架。这节开始讲串口发送数据需要特别注意的地方和程序框架,要教会大家一个知识点:根据我个人的经验,在发送一串数据中,每个字节之间必须添加一个延时,用来等待串口发送完成。当然,也有一些朋友可能不增加延时,直接靠单片机自带的发送完成标志位来判断,但是我以前在做项目中,感觉单单靠发送完成标志位来判断还是容易出错(当然也有可能是我自身程序的问题),所以后来在大部分的项目中我就干脆靠延时来等待它发送完成。我在51,PIC单片机中都是这么做的。但是,凭我的经验,在stm32单片机中,可以不增加延时,直接靠单片机自带的标志位来判断就很可靠。 具体内容,请看源代码讲解。 (1)硬件平台
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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