-
串口控制的呼吸ic_DFRobot蓝牙控制器
2021-01-23 15:24:11原谅我语文一般,忽略了定语的作用,这里的重点是控制器,并不是蓝牙。蓝牙功能并不需要在咱们是编程,只要使用串口发送AT指令就能进行控制。后面的使用主要还是使用Arduino IDE对ATMEGA328P处理器(单片机)进行操作...刚刚参加活动的时候,看到活动的标题“物联网低功耗蓝牙控制器”,以为是某一款蓝牙的IC在做活动。原谅我语文一般,忽略了定语的作用,这里的重点是控制器,并不是蓝牙。蓝牙功能并不需要在咱们是编程,只要使用串口发送AT指令就能进行控制。后面的使用主要还是使用Arduino IDE对ATMEGA328P处理器(单片机)进行操作。
1、开箱硬件
现在简单来开箱看看开发包的硬件:开发包里面包含一块开发板和4片插针。
插针的质量是真的好,以前使用的一般插针是偏扁形的,但是这里附带的插针仔细一看是成四方柱形,嗨,借用这么多形容词也没说清楚,简单一句就是:插针够粗,够直。后面在自己的设计中可以采用这种质感的插针。
板子的工艺也是比较好的那种,拿在手里很厚实。因为也没有仔细辨识过军工和医疗板子的品质,但是就这个板子来看,和普通消费类的0.8的板子不一样。这都是个人感觉,可能不准,但是任咱们谁拿到手里都不会嫌弃的,这点还是能够肯定。另外一点就是,打开静电密封袋的时候没有刺鼻的气味。
板子的正面很清晰,一个基于Dialog的蓝牙模块上有很清晰的 DFROBOT 标志,再一个就是ATMEGA328P 单片机了。这点我有点疑惑,上面没有串口转USB的芯片,没有CH340也没有PLxxx。但是根据手册可以直接接到PC,通过串口监控日志。这点暂时搁置,后面弄清楚了再分享给大家。
板子的背面也就是几个LOGO,没有其他的IC。通过上面的丝印,我们能够知道这个上面的双PIN插座是用来接电池的。送的插针刚好能够穿过所有的过孔,但是暂时还没搭建开发环境,就不焊接了。看到这个蓝牙模块,让我想到了以前接触的一个模块,安信可做的乐鑫ESP8266的模块。2、开发套件的参数以及操作
1、从开发套件的示意图框图能够知道===
数字IO口:14 模拟IO输入:6
SPI接口:1
I2C接口:1
UART接口:1
LED_BUILTIN:D13
但是有个硬件框图的这些资料,还不能进行设计。咱们总的需要知道这个板子怎么烧写程序吧,毕竟也是第一次尝试,还是要循序渐进。以前接触过写字机的Arduino,但是也是直接使用的官方的固件,没有深入去了解过。现在这块板子可以试试按部就班的学习一下Arduino下的编程,也是一个不错的机会。下面来简单了解一下Arduino下的编程。
将硬件插上PC后,读取开发板的信息,可能和文档有点区别。我的显示的是:Genuino Uno。没关系接着在开发板管理器下选择Arduino Pro or Pro Mini 。具体的操作也可以参考如下步骤:
然后根据相关的页面的地址找到一段example程序,复制过来,在项目--》验证/编译 操作之后,显示没有问题,然后进行下载验证一下。#include
void wakeup(){
sleep_disable();
delay(2000);
}
void lowpower(){
ADCSRA &= ~(1delay(10);
set_sleep_mode(SLEEP_MODE_PWR_DOWN);/*设置睡眠模式为掉电模式*/
sleep_enable();/*启用睡眠模式*/
MCUCR |= (1<MCUCR = MCUCR & (~(1<sleep_cpu();/*进入睡眠模式*/
}
void setup() {
attachInterrupt(0, wakeup, CHANGE); /*设置触发D2口的中断方式为电平变化,回调函数为wakeup(),即执行唤醒328p芯片的功能*/
lowpower();
}
void loop() {
lowpower();
delay(2000);
}得到的结果:项目使用了 946 字节,占用了 (3%) 程序存储空间。最大为 30720 字节。板子上的现象是CHG这个LED在闪烁,频率大概是1秒1次。也就是说,单片机这个时候啥也不干。
- CHG:电池充电指示灯,在没有接锂电池时,CHG闪烁;充电状态下,CHG灯常亮;充电完毕,CHG常灭
2、查看了模块的示意图以及分析了上面的程序,这里的AT指令是通过USB口进行控制,也就是说可能UART并不能配置这个蓝牙模块。看到这里,那就有个问题:模块的参数会保存吗,还是每次开机都要通过串口进行配置?这个问题也搁置,后面熟悉套件自然就能够得到解答。
但是不管怎样,根据这里的信息,点亮OLED12864应该是没有问题的,下期有机会了再和大家探讨怎样点亮这OLED12864。最后的话:
后会有期,江湖再见。 -
串口中fifo的作用
2014-12-09 17:32:48FIFO是先进先出缓冲区的意思,即串口接收到的数据可以先进入FIFO,不必马上进入中断服务程序接收,这样可节省CPU时间。对于发送数据也一样,可以把要发送的数据一起写入FIFO,串口控制器可按写入顺序依次发送出去。FIFO是先进先出缓冲区的意思,即串口接收到的数据可以先进入FIFO,不必马上进入中断服务程序接收,这样可节省CPU时间。对于发送数据也一样,可以把要发送的数据一起写入FIFO,串口控制器可按写入顺序依次发送出去。
-
串口的流控制
2016-11-18 09:17:51我们在串行通讯处理中,常常看到rts/cts和xon/xoff这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通rs232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯...我们在串行通讯处理中,常常看到rts/cts和xon/xoff这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通rs232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯中有何作用,在编制串行通讯程序怎样应用呢?这里我们就来谈谈这个问题。
1.流控制在串行通讯中的作用
这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。现在我们在网络上通过modem进行数据传输,这个问题就尤为突出。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据的丢失。 pc机中常用的两种流控制是硬件流控制(包括rts/cts、dtr/cts等)和软件流控制xon/xoff(继续/停止),下面分别说明。2.硬件流控制
硬件流控制常用的有rts/cts流控制和dtr/dsr(数据终端就绪/数据设置就绪)流控制。
硬件流控制必须将相应的电缆线连上,用rts/cts(请求发送/清除发送)流控制时,应将通讯两端的rts、cts线对应相连,数据终端设备(如计算机)使用rts来起始调制解调器或其它数据通讯设备的数据流,而数据通讯设备(如调制解调器)则用cts来起动和暂停来自计算机的数据流。这种硬件握手方式的过程为:
[COLOR=#ff0000]我们在编程时根据接收端缓冲区大小设置一个高位标志(可为缓冲区大小的75%)和一个低位标志(可为缓冲区大小的25%),当缓冲区内数据量达到高位时,我们在接收端将cts线置低电平(送逻辑0),当发送端的程序检测到cts为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将cts置高电平。rts则用来标明接收设备有没有准备好接收数据[/COLOR]
。
常用的流控制还有还有dtr/dsr(数据终端就绪/数据设置就绪)。我们在此不再详述。由于流控制的多样性,我个人认为,当软件里用了流控制时,应做详细的说明,如何接线,如何应用。3.软件流控制
由于电缆线的限制,我们在普通的控制通讯中一般不用硬件流控制,而用软件流控制。一般通过xon/xoff来实现软件流控制。常用方法是:当接收端的输入缓冲区内数据量超过设定的高位时,就向数据发送端发出xoff字符(十进制的19或control-s,设备编程说明书应该有详细阐述),发送端收到xoff字符后就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出xon字符(十进制的17或control-q),发送端收到xon字符后就立即开始发送数据。一般可以从设备配套源程序中找到发送的是什么字符。
应该注意,若传输的是二进制数据,标志字符也有可能在数据流中出现而引起误操作,这是软件流控制的缺陷,而硬件流控制不会有这个问题。 -
串口硬件流控制
2020-08-18 21:43:45我们在串行通讯处理中,常常看到rts/cts和xon /xoff这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中。 1.流控制在串行通讯中的作用 这里讲到的“流”,当然指的是数据流。数据在两...资料总结来于网络
http://bbs.elecfans.com/m/jishu_939361_1_1.html
https://zhidao.baidu.com/question/423241645.html
我们在串行通讯处理中,常常看到rts/cts和xon /xoff这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中。
1.流控制在串行通讯中的作用
这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。现在在网络上通过modem进行数据传输,这个问题就尤为突出。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据的丢失。 pc机中常用的两种流控制是硬件流控制(包括rts/cts、dtr/cts等)和软件流控制xon/xoff(继续/停止),下面分别说明。
2.硬件流控制
硬件流控制常用的有rts/cts流控制和dtr/dsr(数据终端就绪/数据设置就绪)流控制。
硬件流控制必须将相应的电缆线连上,用rts/cts(请求发送/清除发送)流控制时,应将通讯两端的rts、cts线对应相连,数据终端设备(如计算机)使用rts来起始调制解调器或其它数据通讯设备的数据流,而数据通讯设备(如调制解调器)则用cts来起动和暂停来自计算机的数据流。这种硬件握手方式的过程为:
编程时根据接收端缓冲区大小设置一个高位标志(可为缓冲区大小的75%)和一个低位标志(可为缓冲区大小的25%),当缓冲区内数据量达到高位时,在接收端将cts线置低电平(送逻辑0),当发送端的程序检测到cts为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将cts置高电平。
3、硬件流:RTS/CTS (Request To Send/Clear To Send)即请求发送/清除发送协议。
用于半双工时的收发切换,半双工的意思是说,发的时候不收,收的时候不发。那么怎么区分收发呢?缺省时是DCE向DTE发送数据,当DTE决定向DCE发数据时,先有效RTS,表示DTE希望向DCE发送。一般DCE不能马上转换收发状态,DTE就通过监测CTS是否有效来判断可否发送,这样避免了DTE在DCE未准备好时发送所导致的数据丢失。
简单的说就是:在发送之前告诉你我要发送数据(有效RTS),通过检测CTS来查看这个时候总线是否空闲,来决定是否可以发送数据 -
利用USB控制器设计的Windows音量控制器
2020-11-24 10:59:16传统的USB控制器在使用时,需要大量的与主控机相连的接口连线,占用了大量的CPU I/O口资源。随着电子技术的高速发展,USB控制器向小体积、低功耗的方向发展。本文介绍如何使用MAX3420进行Windows系统HID设计的过程。... -
VS2008开发投影机串口控制工具教程
2017-03-13 22:35:26恰好我又是一个爱研究的人,在网上找到电脑后面那个就是一个串口,可以发挥和中控机一样的作用。所以就突发奇想能不能,自己做一个软件控制投影机的开关。岂不是很好。所以我就开始了这个项目。 -
串口通讯流控制
2016-03-07 09:59:06我们在串行通讯处理中,常常看到rts/cts和xon /xoff这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通rs232编程,了解一点这方面的知识是有好处 的。那么,流控制在串行... -
串口流控制
2009-09-10 10:54:00转载 我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在... -
基于DMA控制器的UART串行通信设计
2021-01-31 05:43:01针对大数据量的串口间通信,在常规的UART串行数据通信的基础上,结合Cortex-M3微控制器中DMA控制器的作用,实现DMA控制的UART串口数据包收发。设计链表项缓存,最终实现DMA的分散/聚集模式的数据传输过程,主要是... -
串口通信流控制
2012-01-04 16:02:37我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯... -
串口流控制(flow control)
2017-06-06 15:05:47我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯中有何... -
基于RTL8019AS的串口与以太网接口转换器
2020-08-10 13:32:24目前在工业控制领域,单片机...因此,本文提出一种RS-232串行通信接口与RJ45以太网接口转换器的设计方案,已有的单片机系统可以通过该转换器接入以太网,进一步接入互联网,这种方案对研发嵌入式网络系统也有借鉴作用。 -
串口扫盲十六:浅析PC机串口通讯流控制
2013-07-05 16:04:00我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的.那么,流控制在串行通讯中有何... -
浅析PC机串口通讯流控制
2015-07-16 10:21:22我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯中有何... -
UART串口流控制(Flow control)
2020-03-09 21:15:34一般在串行通讯中,我们会在一些上位机上看到 RTS/CTS、DTR/DSR和 XON/XOFF的选项,这是对流控制的选项,一般是应用于 RS232接口的,是拿来调制解调器的数据通讯的 一、流控制的作用 这里讲到的 “流”,指的是数据... -
基于单片机的模拟信号自动追踪控制器
2021-01-29 09:47:48系统采用单片机作为主控制器,实现了模拟信号的自动追踪和采集、工艺曲线存储及动态显示、双路串口通讯、数据库管理等功能。实际应用表明,该系统具有操作简便、测试准确的特点,达到了设计要求。 -
串口通讯流控制(记录)
2011-05-05 00:48:00我们在串行通讯处理中,常常看到rts/cts和xon/xoff这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通rs232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯...
-
二、数组2(排序算法补充-对比数据结构课程二三章)
-
LENOVO-90KT22CUS.rom
-
Golang生成exe时如何添加一个图标
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)
-
NFS 实现高可用(DRBD + heartbeat)
-
ISSCC2021_Session_02V_Highlighted Chip Releases 5G and Radar Systems.pdf
-
基于SSM实现的房屋租赁系统【附源码】(毕设)
-
23弱口令爆破 效率极高
-
Unity 热更新技术-ILRuntime
-
2021 年该学的 CSS 框架 Tailwind CSS 实战视频
-
深究字符编码的奥秘,与乱码说再见
-
物联网基础篇:快速玩转MQTT
-
从零开始自己实现的一门全新的 类JavaScript 语法的轻量级脚本解释器
-
Galera 高可用 MySQL 集群(PXC v5.7+Hapro)
-
涨薪50%,从小厂逆袭快手 - 附面经
-
OptiFine_1.16.5_HD_U_G7.jar
-
String、StringBuilder和StringBuffer区别
-
Mycat 实现 MySQL的分库分表、读写分离、主从切换
-
Windows系统管理
-
数独算法破解及生成,独家!