精华内容
下载资源
问答
  • 原谅我语文一般,忽略了定语的作用,这里的重点是控制器,并不是蓝牙。蓝牙功能并不需要在咱们是编程,只要使用串口发送AT指令就能进行控制。后面的使用主要还是使用Arduino IDE对ATMEGA328P处理器(单片机)进行操作...

    刚刚参加活动的时候,看到活动的标题“物联网低功耗蓝牙控制器”,以为是某一款蓝牙的IC在做活动。原谅我语文一般,忽略了定语的作用,这里的重点是控制器,并不是蓝牙。蓝牙功能并不需要在咱们是编程,只要使用串口发送AT指令就能进行控制。后面的使用主要还是使用Arduino IDE对ATMEGA328P处理器(单片机)进行操作。

    02e45ccb5ae01874b3467d712b5fb803.png

    1、开箱硬件
    现在简单来开箱看看开发包的硬件:开发包里面包含一块开发板和4片插针。
    插针的质量是真的好,以前使用的一般插针是偏扁形的,但是这里附带的插针仔细一看是成四方柱形,嗨,借用这么多形容词也没说清楚,简单一句就是:插针够粗,够直。后面在自己的设计中可以采用这种质感的插针。

    cd961c19b13774131e5ea75377ad3cc8.png


    板子的工艺也是比较好的那种,拿在手里很厚实。因为也没有仔细辨识过军工和医疗板子的品质,但是就这个板子来看,和普通消费类的0.8的板子不一样。这都是个人感觉,可能不准,但是任咱们谁拿到手里都不会嫌弃的,这点还是能够肯定。另外一点就是,打开静电密封袋的时候没有刺鼻的气味。
    板子的正面很清晰,一个基于Dialog的蓝牙模块上有很清晰的 DFROBOT 标志,再一个就是ATMEGA328P 单片机了。这点我有点疑惑,上面没有串口转USB的芯片,没有CH340也没有PLxxx。但是根据手册可以直接接到PC,通过串口监控日志。这点暂时搁置,后面弄清楚了再分享给大家。

    3b8d7b4defa50039112f76ee9564c7ea.png


    板子的背面也就是几个LOGO,没有其他的IC。通过上面的丝印,我们能够知道这个上面的双PIN插座是用来接电池的。送的插针刚好能够穿过所有的过孔,但是暂时还没搭建开发环境,就不焊接了。看到这个蓝牙模块,让我想到了以前接触的一个模块,安信可做的乐鑫ESP8266的模块。

    0513019777af91f44486aef61d471a8e.png

    2、开发套件的参数以及操作
    1、从开发套件的示意图框图能够知道===
    数字IO口:14

    ­ 模拟IO输入:6

    ­ SPI接口:1

    ­ I2C接口:1

    ­ UART接口:1

    ­ LED_BUILTIN:D13

    a1102175519e547f1fb744e2abdd4301.png


    但是有个硬件框图的这些资料,还不能进行设计。咱们总的需要知道这个板子怎么烧写程序吧,毕竟也是第一次尝试,还是要循序渐进。以前接触过写字机的Arduino,但是也是直接使用的官方的固件,没有深入去了解过。现在这块板子可以试试按部就班的学习一下Arduino下的编程,也是一个不错的机会。下面来简单了解一下Arduino下的编程。
    将硬件插上PC后,读取开发板的信息,可能和文档有点区别。我的显示的是:Genuino Uno。没关系接着在开发板管理器下选择Arduino Pro or Pro Mini 。

    bbd711ae636ae80ef614fb3c497f5921.png

    具体的操作也可以参考如下步骤:

    6acecf2979f2cfd5538110a530ae38fb.png


    然后根据相关的页面的地址找到一段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次。也就是说,单片机这个时候啥也不干。

    5f6b70e8b5435dd0168ef45b87961f95.png
    • CHG:电池充电指示灯,在没有接锂电池时,CHG闪烁;充电状态下,CHG灯常亮;充电完毕,CHG常灭


    2、查看了模块的示意图以及分析了上面的程序,这里的AT指令是通过USB口进行控制,也就是说可能UART并不能配置这个蓝牙模块。看到这里,那就有个问题:模块的参数会保存吗,还是每次开机都要通过串口进行配置?这个问题也搁置,后面熟悉套件自然就能够得到解答。

    94ef1c47e0f71e8ac0976368a0b4122c.png


    但是不管怎样,根据这里的信息,点亮OLED12864应该是没有问题的,下期有机会了再和大家探讨怎样点亮这OLED12864。

    最后的话:
    后会有期,江湖再见。

    展开全文
  • 串口中fifo的作用

    千次阅读 2014-12-09 17:32:48
    FIFO是先进先出缓冲区意思,即串口接收到数据可以先进入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控制器在使用时,需要大量与主控机相连接口连线,占用了大量CPU I/O口资源。随着电子技术高速发展,USB控制器向小体积、低功耗方向发展。本文介绍如何使用MAX3420进行Windows系统HID设计过程。...
  • 恰好我又是一个爱研究的人,在网上找到电脑后面那个就是一个串口,可以发挥和中控机一样的作用。所以就突发奇想能不能,自己做一个软件控制投影机的开关。岂不是很好。所以我就开始了这个项目。
  • 串口通讯流控制

    2016-03-07 09:59:06
    我们在串行通讯处理中,常常看到rts/cts和xon /xoff这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通rs232编程,了解一点这方面的知识是有好处 的。那么,流控制在串行...
  • 串口控制

    2009-09-10 10:54:00
    转载 我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在...
  • 针对大数据量的串口间通信,在常规的UART串行数据通信的基础上,结合Cortex-M3微控制器中DMA控制器的作用,实现DMA控制的UART串口数据包收发。设计链表项缓存,最终实现DMA的分散/聚集模式的数据传输过程,主要是...
  • 串口通信流控制

    2012-01-04 16:02:37
    我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯...
  • 我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯中有何...
  • 目前在工业控制领域,单片机...因此,本文提出一种RS-232串行通信接口与RJ45以太网接口转换器的设计方案,已有的单片机系统可以通过该转换器接入以太网,进一步接入互联网,这种方案对研发嵌入式网络系统也有借鉴作用
  • 我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的.那么,流控制在串行通讯中有何...
  • 我们在串行通讯处理中,常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯中有何...
  • UART串口控制(Flow control)

    千次阅读 2020-03-09 21:15:34
    一般在串行通讯中,我们会在一些上位机上看到 RTS/CTS、DTR/DSR和 XON/XOFF的选项,这是对流控制的选项,一般是应用于 RS232接口的,是拿来调制解调器的数据通讯的 一、流控制的作用 这里讲到的 “流”,指的是数据...
  • 系统采用单片机作为主控制器,实现了模拟信号自动追踪和采集、工艺曲线存储及动态显示、双路串口通讯、数据库管理等功能。实际应用表明,该系统具有操作简便、测试准确特点,达到了设计要求。
  • 串口通讯流控制(记录)

    千次阅读 2011-05-05 00:48:00
    我们在串行通讯处理中,常常看到rts/cts和xon/xoff这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通rs232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 146
精华内容 58
关键字:

串口控制器的作用