精华内容
下载资源
问答
  • 自定义了51单片机串口的库,使其模块化,更容易使用 void uart_init(int port) //串口初始化函数 参数port为波特率,0xFA对应4800,51单片机波特率不要设置太高,容易丢失数据 注意晶振必须为11.0592MHz void uart_...
  • 本文介绍如何利用PIC 单片机的USART 模块模拟实现SPI 和I2C 总线通信。其中 SPI 总线通信实现过程较为简单,本文只给予扼要介绍,对于用USART 模块来实现I2C 总 线通信是本文的重点,除了介绍实现的方法外,还给出了...
  • STC单片机 串口通信模块的驱动,包括函数及头文件,直接调用即可
  • 单片机蓝牙串口模块

    2016-02-29 22:25:27
    单片机蓝牙模块的开发,APP以及实例代码
  • 51单片机串口通信模块(包括RS-232接口及电平转换芯片MAX232,RS-485接口及电平转换芯片MAX483等),C语言程序
  • 随着信息技术与网络技术的飞速发展,信息交互应用业务给人类生活带来更多的便利,信息终端表现出巨大的市场...为了能够提高终端市场竞争力,减少系统开发成本投入,通信模块与终端程序独立设计是较为理想的解决方案。
  • 基于单片机串口报文的数据采集模块的研制.pdf
  • LABVIEW和单片机串口通信在半导体模块测试设备中的应用.pdf
  • 喜欢的就来下载吧,学到新知识,知识就是力量!
  • www.mcutech.cn 武汉谷鑫科技有限公司专业致力于单片机驱动TFTLCD彩色液晶屏
  • 我们平时用蓝牙,一般是单片机串口与蓝牙的串口连接,实现数据传输,同时,也会用到mcu的其他一些功能,比如IIC,比如定时器,ADC等。但对于一些功能相对较少的产品,或者要求小体积的产品,这时候可以考虑把mcu省...

    技术小白,感谢大家阅读和点赞!使用蓝牙模块也有段时间了,更新……

     

    现在市面上用的蓝牙芯片大部分是ble的了,也就是低功耗透传模式。最近用到蓝牙SOC(片上系统),和大家分享下。

    我们平时用蓝牙,一般是单片机的串口与蓝牙的串口连接,实现数据传输,同时,也会用到mcu的其他一些功能,比如IIC,比如定时器,ADC等。但对于一些功能相对较少的产品,或者要求小体积的产品,这时候可以考虑把mcu省略掉,通过蓝牙直接实现需求,这就是soc。

    目前市面上用的比较多的soc包括TI的CC2640, Nordic的nRF52832和nRF52840,高通的CSR102x,各个品牌的功能和价格都大同小异,开发环境稍有不同,一般能满足可穿戴、物联产品的需求,博主最近在使用CSR102X,  使用后分享经验哈!

     

    以下帖子为原内容

    第一次用蓝牙通讯,现在市场上很多蓝牙模块功能都很强大,如果只是使用,不需要过多了解内部结构原理,只需要设置一些自己用到的参数就行了。

    蓝牙分为传统蓝牙和ble蓝牙,现在大部分用到的都是ble低功耗蓝牙。蓝牙分主从模式,主模式是主动连接其它蓝牙设备,作为主模式可同时连接7个从设备,作为从设备只能被一个主设备连接。

    使用蓝牙模块时,看模块支持哪种电平,有的可以直接接单片机的串口(TTL电平),有的需要经过232芯片连接。选定串口,设置好波特率,写好通讯协议,就可以通讯了。

    以上都是很简单的内容,这里需要跟大家分享的惨痛的教训是关于串口和单片机的隔离。

    我采购的SKY369可以直接连在单片机串口上,而且也可以3.3v供电。所以在设计电路时,我直接把蓝牙模块与单片机的某个串口接在一起,同时从模块引出四个排针,分别是vcc、gnd、rx、tx,注意,此时蓝牙模块已经焊在板子上了,按道理,在电路板不供电的情况下,我用usb转ttl线接四个排针,是可以进行AT指令设置的。但是,此处却出现了很多问题,很多问题!

    问题如下图,我用的是友善串口助手,串口设置好了(可以在电脑计算机右键——设备管理——端口处查询自己用的串口号),蓝牙模块都有初始波特率,可以参考蓝牙模块的手册,数据位校验位停止位也是参考手册。发送和接收都是ASCII,然后点击发送,没反应,再点击,还是没反应。

    排查串口波特率、排查串口线电压、排查tx、rx接没接反,最后发现都没问题,总不可能是蓝牙坏了吧,事实证明现在的模块都很稳定,一般不会出现质量问题,芯片坏了的情况基本不要考虑。

    而且,这个现象并不是每次都出现,而且蓝牙的通讯功能完好,只是设置出问题。同时,这个问题不是每次都会出现,有时候发送AT指令,有的可以实现,有的就会出现00 00 00 00……

    这个现象据蓝牙模块厂家说,是供电问题,换了好几个串口工具和线,确认不是此处的原因。

    经历了蓝牙模块返厂等一系列,发现,单片机和蓝牙模块之间在设置模式下,最好不要直接连接,拿一块板子做测试,把单片机与模块间的线割掉,就再也没出现发送数据没反应的现象了。

    串口连接蓝牙模块时,同时也给单片机供电了,发送给串口的数据同时也发给单片机了,这时就混乱了,处理方法是单片机与蓝牙模块之间加跳线帽,设置时拔开,通讯时插上。

     

    经验教训:外接设备与单片机连接时,最好做好隔离,包括编码器、蓝牙模块、wifi模块等。

    另外,做通讯协议时,单片机通过蓝牙收到数据,处理返回数据时,返回处理函数最好清晰,此串口用作接受处理函数后,就不要再定时器里写其他的定时返回函数,否则会很混乱!收发乱七八糟……这也是血的教训。

    例如,用单片机usart5做蓝牙通讯,蓝牙收到00,返回01,同时,蓝牙还要每隔0.01秒返回02,这样就会乱,导致蓝牙发送接收丢数据。

    同时,还要强调,一定要检查自己的电脑com口有没有问题,博主用自己的台式机一直失败,换了个笔记本莫名其妙好了!

    蓝牙篇就到这。

    展开全文
  • LD3320为内核是51单片机,LD3320当输入不同的语句通过串口输出相应的代码,利用STM32与51单片机串口通讯,将代码传输给STM32实现STM32端口控制。 注意事项: 1:STM32串口,51串口波特率以及电脑端串口调试助手...
  • 51单片机 指纹模块 串口问题4

    千次阅读 2016-09-23 23:20:56
    陆陆续续的再弄指纹模块,之前考虑板子供电和串口下载程序的问题买了转串口模块,只要把4根线接好就可以用了,VCC就接单片机上的VCC,GND就接板子上的GND,这很简单,要注意的是板子和串口模块上的串口接收和发送是...

        陆陆续续的再弄指纹模块,之前考虑板子供电和串口下载程序的问题买了转串口模块,只要把4根线接好就可以用了,VCC就接单片机上的VCC,GND就接板子上的GND,这很简单,要注意的是板子和串口模块上的串口接收和发送是反过来的,即板子上的TXD接到串口模块上的RXD,板子上的RXD接到串口模块上的TXD。

       是可以用了不过有两个问题,一个是现在我只能冷启动,虽然我可以通过拔一下VCC模拟上电过程,但我觉得麻烦所以想弄热启动,查些资料。二是只要我插着串口模块的TXD和RXD就会占用串口,指纹模块就不能正常工作。

        第二个问题我感觉是因为51就一个串口,我现在能想到的办法就是在下载程序结束后,拔掉TXD和RXD。

        第一个问题,在uart的接收函数上加上

     

    使串口可以热启动。

    资料:


    (更详细信息请参考STC12系列单片机数据手册)



    展开全文
  • 蓝牙的使用,Proteus仿真单片机串口的注意事项和实物调试注意事项。玩转单片机串口详细零基础版 学习单片机、Proteus仿真单片机串口一定要看,一定要看,一定要看!!! 链接: 添加链接描述 ...

    蓝牙的使用,Proteus仿真单片机串口的注意事项和实物调试注意事项。玩转单片机串口详细零基础版
    学习单片机、Proteus仿真单片机串口一定要看,一定要看,一定要看!!!
    链接:
    添加链接描述

    展开全文
  • 无线串口模块与51单片机通信测试程序,实现无线串口通讯,模块接口为通用的TTL串口
  • 因为HC05模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手。说白了,只是个蓝牙转串口的设备,你只要知道串口怎么编程使用,就可以了,实现了所谓的透明传输。 但是就是这么一...

    HC-05蓝牙串口通信模块应该是使用最广泛的一种蓝牙模块之一了。为什么呢?

    因为HC05模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手。说白了,只是个蓝牙转串口的设备,你只要知道串口怎么编程使用,就可以了,实现了所谓的透明传输。

    但是就是这么一个很常见的模块,网上很多的博客写的都是错的,或者都是很不详细的。

    所以本文就介绍一下这款蓝牙通信模块的使用,包括蓝牙模块的调试、手机与蓝牙模块之间的传输、手机蓝牙控制STM32单片机,应该是逐渐深入的一个过程。但是这仅仅是使用,以后有时间应该会对蓝牙有一个稍微深度的学习,而不能仅仅是浮于表面,只会用。

     

    模块名称:HC-05蓝牙串口通信模块

    参考资料:HC-05蓝牙串口通信模块官方资料包

    知识储备:【STM32】串口通信基本原理(超基础、详细版)

    其他模块:USB转TTL模块、手机蓝牙串口助手app

    手机蓝牙串口助手软件,可以点击链接下载:蓝牙串口。因为这是我见过所有手机端界面最好看的了,其他的界面都有点太糟糕了。

     

    蓝牙模块的调试

    准备工作

    USB转TTL模块与HC-05蓝牙模块的接线:

    两模块共地,两模块共VCC(VCC取5V);蓝牙模块的RX接转换模块的TX,蓝牙模块的TX接转换模块的RX。如下图所示:

    这个时候就要将转换模块连接到电脑上,然后利用串口调试助手进行蓝牙模块的调试。

    附可能会用到的驱动:链接:https://pan.baidu.com/s/1bpYLfCr 密码:yabv

    蓝牙模块的调试

    HC-05蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动连接工作模式。在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。

    • 当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;
    • 当模块处于命令响应工作模式时能执行AT命令,用户可向模块发送各种AT 指令,为模块设定控制参数或发布控制命令。

    怎么进入命令响应工作模式?

    进入命令响应工作模式有两种方法:

    • 模块上电,未配对情况下就是AT模式,波特率为模块本身的波特率,默认:9600,发送一次AT指令时需要置高一次PIO11;
    • PIO11 置高电平后,再给模块上电,此时模块进入AT 模式,波特率固定为:38400,可以直接发送AT指令。

    什么叫做置高一次PIO11?

    在蓝牙模块中有一个小按键,按一下就置高一次PIO11。也就是说,第一种方法需要每发送一次AT指令按一次;而第二种方式是长按的过程中上电,之后就无需再管了,直接发送AT命令即可。

    需要注意一下,两种进入命令响应工作模式的方式使用的波特率是不一样的,建议使用第二种方式。

    怎么区分进了命令响应工作模式呢?

    在蓝牙模块上有灯,当灯快闪的时候,就是自动连接工作模式;当灯慢闪的时候,就是命令响应工作模式。

    AT命令

    进入到命令响应工作模式之后,就可以使用串口调试助手进行蓝牙调试了。

    首先有一点,AT指令不区分大小写,均以回车、换行结尾。下面介绍常用的AT指令:

    常用AT指令
    指令名响应含义
    ATOK测试指令
    AT+RESETOK模块复位
    AT+VERSION?+VERSION:<Param> OK获得软件版本号
    AT+ORGLOK恢复默认状态
    AT+ADDR?+ADDR:<Param> OK获得蓝牙模块地址
    AT+NAME=<Param>OK设置设备名称
    AT+NAME?+NAME:<Param> OK获得设备名称
    AT+PSWD=<Param>OK设置模块密码
    AT+PSWD?+PSWD:<Param> OK获得模块密码
    AT+UART=<Param1>,<Param2>,<Param3>OK设置串口参数
    AT+UART?+UART:<Param1>,<Param2>,<Param3> OK获得串口参数

    对于AT指令,有几点注意:

    • AT+NAME?:获得设备名称,这个AT指令有很大可能性是没有返回的,因为我也看到了很多的例子……,但是其他的指令都是没有问题的,直接设置设备名称就行了;
    • AT+UART?:获得串口参数,串口的参数一共有三个,波特率、停止位、检验位。其取值如下:
    串口参数
    参数名称取值
    波特率

    2400、4800、9600、19200、38400、5760、

    115200、230400、460800、921600、1382400

    停止位

    0:1位

    1:2位

    校验位0:NONE  1:Odd  2:Even

    其默认值为:9600,0,0。

    例子:

    本文中,蓝牙串口的波特率设置成115200。之后的内容,就会采用这个波特率来进行通讯了。

     

    手机与蓝牙模块之间的传输

    直接将蓝牙模块与转换模块连接,再讲其连接到电脑上,蓝牙模块直接进入自动连接工作模式。

    此时手机打开蓝牙串口调试应用,用其来连接蓝牙模块。手机蓝牙串口助手软件,可以点击链接下载:蓝牙串口。万分推荐这款,因为界面脱离了那种黑不溜秋的感觉,比较简洁、清爽。

    这个软件的使用:点击界面右下角蓝牙的标志,选择蓝牙进行连接。

    然后在电脑上的调试助手和手机的蓝牙串口调试应用之间就可以相互传输了,比如:

    可以清楚的看到:电脑向手机发送了“hello you”,手机向电脑发送了“hello world”。

     

    手机蓝牙控制STM32单片机

    之前的两个例子都是相比较而言比较简单的,这个例子将会涉及到程序的内容了。

    实现功能:手机通过蓝牙,向STM32单片机发送消息,STM32接收到消息之后原封不动的返回给手机。当然如果掌握了这个例子,也可以修改成,手机发送特定的消息,然后,STM32单片机做出相对应的动作。比如:点亮LED等、发动电机等等。

    连接说明

    使用USART1进行试验,也就是说STM32选取PA9、PA10来和HC-05进行连接。同时手机通过蓝牙来和HC-05进行连接。

    原理就是:手机通过蓝牙传输到HC-05上,再通过串口通信和STM32通信;而之前一般都是电脑上通过USB线转串口的方式,通过串口和STM32通信。本质上没有区别的。

    这个时候就应该更加深刻地体会到了本文开篇的一句话:说白了,只是个蓝牙转串口的设备,你只要知道串口怎么编程使用,就可以了,实现了所谓的透明传输。蓝牙的相关一切都被封装起来了,都不需要接触到。

    STM32控制程序

    #include "stm32f10x.h"
    
     void My_USART1_Init(void)  
    {  
        GPIO_InitTypeDef GPIO_InitStrue;  
        USART_InitTypeDef USART_InitStrue;  
        NVIC_InitTypeDef NVIC_InitStrue;  
          
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//GPIO端口使能  
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//串口端口使能  
          
        GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP;  
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_9;  
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;  
        GPIO_Init(GPIOA,&GPIO_InitStrue);  
          
        GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN_FLOATING;  
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_10;  
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;  
        GPIO_Init(GPIOA,&GPIO_InitStrue);  
          
        USART_InitStrue.USART_BaudRate=115200;  
        USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;  
        USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;  
        USART_InitStrue.USART_Parity=USART_Parity_No;  
        USART_InitStrue.USART_StopBits=USART_StopBits_1;  
        USART_InitStrue.USART_WordLength=USART_WordLength_8b;  
          
        USART_Init(USART1,&USART_InitStrue);
          
        USART_Cmd(USART1,ENABLE);//使能串口1  
          
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//开启接收中断  
          
        NVIC_InitStrue.NVIC_IRQChannel=USART1_IRQn;  
        NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE;  
        NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=1;  
        NVIC_InitStrue.NVIC_IRQChannelSubPriority=1;  
        NVIC_Init(&NVIC_InitStrue);  
          
    }  
      
    void USART1_IRQHandler(void)  
    {  
        u8 res;  
         if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)  
     {  
         res= USART_ReceiveData(USART1); 	 
         USART_SendData(USART1,res);     
      }  
    }  
       
     int main(void)  
     {    
    	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  
        My_USART1_Init();  
         while(1);  
           
     } 

    这段程序和【STM32】串口相关配置寄存器、库函数(UART一般步骤)中的程序一模一样,几乎没有什么改动。

    区别就是,在UART实验中,USART1是和USB转串口模块连接在一起的,然后与电脑上的串口调试助手进行通信;现在改成USART1是和蓝牙模块连接在一起的,然后和手机上的蓝牙串口调试助手进行通信。

     

    展开全文
  • 求各大神赐教,本人最近在学习蓝牙与单片机的通信,所用的蓝牙是“蓝牙从机模块CH-06”,单片机是51单片机,想法是用手机蓝牙向蓝牙模块传输信号,然后经过单片机的处理再控制单片机的I/O端口的电平。
  • 本文对51单片机串口通信中字符发送进行了总结。
  • 51单片机串口通讯详解

    千次阅读 多人点赞 2019-11-04 22:10:20
    无论是作为调试工具,打印出调试信息,还是对功能模块进行通信,串口是每个单片机开发人员最常用的单片机外设。 由于大部分51单片机不支持在线调试功能,所以串口作为一种有效的调试功能,所以在51单片机程序开发时...
  • 做电赛时候写的瑞萨串口使用的程序,可以直接和串口模块连接,用来打印数据或者监视单片机运行情况,都是很好的。
  • 基于通过串口wifi模块与51单片机进行通信,实现无线传输。
  • 单片机串口控制+程序

    2018-10-10 21:38:05
    2.实现 串口控制温度模块使单片机显示板能显示当前温度。 3.实现串口控制一个继电器接风扇 4.以上串口的控制,利用单片机上所留的RX、TX口输入数据,实现控制(比如,我往TX口发送字母,于是小灯亮/灭,其他功能同上...
  • 单片机串口实现字符串命令解析

    千次阅读 2020-10-30 16:20:38
    通常情况下串口通信用的大多数都是用十六...STM32单片机串口空闲中断+DMA接收不定长数据 STM32单片机串口空闲中断接收不定长数据 STM8学习笔记---串口通信中如何自己定义通信协议 STM8学习笔记---Modbus通信协议...
  • 无线网卡串口接口 单片机wifi模块

    热门讨论 2010-03-07 20:40:30
    ◆ MSC51/PIC/ARM7 等 8、32 位单片机轻易驱动,驱动代码极少; 产品参数 ◆ 支持UART 数据接口,波特率:19.2k / 38.4k / 57.6k / 115.2k bps ; ◆ 无线数据速率支持802.11b,最高速率11M ; ◆ 集成802.11 MAC ...
  • 简单的单片机串口收发程序,接收PC机的命令,同时反馈数据给PC机。PC机上需要串口调试助手。
  • 单片机编程时,如果代码量不多,可以将所有的函数和定义等放在一个main.c文件中,但是随着代码量的增加,如果将所有代码都放在同一个.C文件中,会使得程序结构混乱、可读性与可移植性变差,而模块化编程就是解决这个...
  • 单片机串口1与上位机(PC)通信,8N1,19200bps,串口2与射频模块相连,8N1,19200bps。上位机发出的数据经由电台发出,反之亦然。射频模块与上位机的通信波特率设置成一致可以防止连续收发数据时数据被冲掉。 ...
  • 利用ARDUINO单片机和设备串口通信,采集数据,数据处理,并利用MODBUS协议传之网络,该例子为实例,可以照此实例改写自己的程序,快捷方便。
  • Linux与单片机串口通信 [复制链接] hutians 发表于 2015-2-10 14:48 | 显示全部楼层 Windows下PC与单片机进行串口通信时,几乎什么都是现成的:串口调试助手、usb转串口驱动,...
  • 相信很多人都对单片机与计算机或者芯片通信时,RXD与TXD如何连接比较困惑。因为在一些电路图中,有的是直连接法,有的是交叉接法,让人有点摸不着头脑。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,286
精华内容 6,914
关键字:

单片机串口模块