xjzh

  • 2019-06-22
  • 加入了学习《远程数据采集作品演示》,观看 远程数据采集作品演示

  • 2019-06-21
  • 加入了学习《新版RTOS教程:15天入门RT-Thread内核》,观看 初识RT-Thread

  • 2019-06-17
  • 回复了主题帖: 【GD32E231 DIY】远程数据采集系统

    本帖最后由 xjzh 于 2019-6-17 22:37 编辑 附上Word文档^_^ 补充内容 (2019-6-21 23:27): http://training.eeworld.com.cn/video/20589

  • 加入了学习《DIY作品演示》,观看 基于MQTT消息通讯的IoT入门实例

  • 发表了主题帖: 【GD32E231 DIY】远程数据采集系统

    本帖最后由 xjzh 于 2019-6-17 02:08 编辑         LoRa技术在物联网发展中占据着重要位置,因其易于建设和部署,成为当前普遍应用的物联网专用网络通信技术。近几年,因LoRa技术成熟度处于领先地位,还有LoRa传输距离远,功耗低,抗干扰性强的特点,使得LoRa模块的应用十分广泛。     本文设计利用GD32E231采集温湿度,红外检测等环境数据,然后通过无线传输将数据传输至后台系统。     本设计利用GD32E231C8T6控制温湿度传感器DHT11、人体红外检测模块、OLED和LoRa通信模块等。将采用到的温度、湿度和红外报警信号通过OLED显示出来,并通过LoRa通信节点将数据传送至后台的LoRa节点,最终上传到上位机。 图1 总体结构图 1、DHT11模块     运用GD32E231C8T6微控制器的GPIO功能采集DHT11传感器的温度和湿度数据。DHT11一次完整的数据传输为40bit,高位先出。     数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和。     DHT11的初始化时序如下: 读取数据0的时序如下: 读取数据1的时序如下: 采用PA1与DHT11的数据输入输出口相连接,设计流程如下: 2、红外检测模块         HC-SR501是基于红外线技术的自动控制模块,采用EXTI2来检测人体红外检测模块HC-SR501的信号。进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。         a、不可重复触发方式:即感应输出高电平后,延时时间段一结束, 输出将自动从高电平变成低电平;         b、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。        设计流程如下图:                                      3、OLED     所用的OLED显示屏控制器为SSD1306,控制128X64的点阵显示。采用GD32E231C8T6微控制器的SPI功能模块和OLED的四线SPI模式通信。设计流程如下图:                                                            4、LoRa通信模组     采用ALIENTEK 推出的一款体积小、微功率、低功耗、高性能远距离 LORA 无线串口模块ATK-LORA-01。各引脚的详细的详细描述如下。 MD0 输入 1、 配置进入参数配置 2、 上电时与 AUX 引脚配合进入固件升级模式 AUX 1、 输出 2、 输入 1、 用于指示模块工作状态,用户唤醒外部MCU 2、 上电时与 MD0 引脚配合进入固件升级模式 RXD 输入 TTL 串口输入,连接到外部 TXD 输出引脚 TXD 输出 TTL 串口输出,连接到外部 RXD 输入引脚 GND 地线   VCC DC3.3~5V 电源输入     电气连接如下图: 工作方式主要有: 1) 透明传输:即透传数据,例如:A设备发5字节数据 AA BB CC DD EE 到 B 设备,B设备就收到数据 AA BB CC DD EE。(透明传输,针对设备相同地址、相同的通信信道之间通信,用户数据可以是字符或 16 进制数据形式)。 2)定向传输:即定点传输,例如: A设备(地址为: 0x1400,信道为0x17(23 信道 433Mhz))需要向B设备(地址为0x1234,信道为0x10(16 信道、426Mhz))发送数据AA BB CC,其通信格式为:12 34 10 AA BB CC,其中1234为模块 B 的地址,10为信道,则模块B可以收到 AA BB CC。同理,如果B设备需要向A设备发送数据AA BB CC,其通信格式为:14 00 17 AA BB CC,则A设备可以收到AA BB CC。(定向传输,可实现设备间地址和通信信道不同之间通信,数据格式为16进制,发送格式:高位地址+低位地址+信道+用户数据)。 3) 广播与数据监听:将模块地址设置为0xFFFF,可以监听相同信道上的所有模块的数据传输;发送的数据,可以被相同信道上任意地址的模块收到,从而起到广播和监听的作用。 LoRa通信模组的配置流程如下图:     项目的测试仅在室内进行,采用的LoRa无线通信实际距离可达3000米(视具体的地形、遮挡物等环境而定),另外由于时间原因,该项目可进一步优化,后期上位机可以采用更加友好的用户界面,也可以根据需要在后台使用MCU来接收和处理远端采集的数据信息。     通过这次活动,感觉到了国产MCU发展的非常好,在很多应用场景下,GD32E231是完全够用的,官方提供的库函数也非常好用,希望兆易MCU的市场越来越大,发展越来越好。感谢兆易创新及电子工程世界论坛!同时感谢勤劳付出的管理员!      

  • 2019-06-16
  • 加入了学习《智能房车控制系统作品演示》,观看 作品演示

  • 发表了主题帖: 【GD32E231 DIY】无线通信

    这里的无线通信为LoRa技术,采用接口为串口的LoRa通信模组。主要函数配置如下: 串口的初始化为: 设置串口参数: 设置发送函数 设置接收函数   LoRa模块初始化 LoRa参数设置函数 AUX中断设置 发送数据函数:    

  • 发表了主题帖: 【GD32E231 DIY】TIMER的使用

    使用TIMER来精确定时,选择TIMER5,使用单脉冲方式,向上计数,使用TIMER5的更新中断,初始化函数如下:   另外,可设置一下更新预装载值的函数:   中断函数如下:

  • 发表了主题帖: 【GD32E231 DIY】串口通信

    这里使用USART0,分别选择PA9和PA10作为串口的发送端和接收端。 初始化管脚和串口,配置PA9和PA10为AF1备用模式: 配置串口的工作参数并开启接收非空中断,bound为函数的传递参数,8位字长,无校验位,1位停止位。 定义串口中断函数,接收字符并将其发送返回给串口助手。

  • 发表了主题帖: 【GD32E231 DIY】人体红外检测(EXTI)

    采用EXTI2来检测人体红外检测模块HC-SR501的信号,HC-SR501是基于红外线技术的自动控制模块。 采用PA2作为外部中断线EXTI2的输入,初始化函数如下: 外部中断2和外部中断3 共用中断向量和中断函数,中断函数的定义如下: 当有人出现在人体红外检测模块HC-SR501有检测范围当中时,红外模块输出高电平,就会产生中断,到人离开后才延时将高电平变为低电平,也进入中断。高电平和低电平分别用”Someone is here!”和”Nobody is here.”标志。  

  • 发表了主题帖: 【GD32E231 DIY】OLED使用(SPI)

    本次分享采用SPI来驱动OLED显示屏。OLED显示屏控制器为SSD1306,控制128X64的点阵显示。   SSD1306的结构如下: 可以采用GPIO模拟SPI时序,本次实例直接采用GD32E231C8T6微控制器的SPI功能模块。 使用OLED的四线SPI模式,时序为: 每个管脚的详细信息可以查看SSD1306的芯片手册。   利用SPI0来驱动OLED屏,选择PB3和PB5为SCK和MOSI   将PB3-PB7初始化: SPI写字节函数: 设置DC管脚,选择数据还是命令: 控制片选端: 控制是否复位: 写命令:   写数据: OLED初始化函数 刷新显存: 往数据OLED_GRAM写入相应的点阵即可显示相应的内容。    

  • 发表了主题帖: 【GD32E231 DIY】温湿度采集

        本次分享运用GD32E231C8T6微控制器的GPIO功能采集DHT11传感器的温度和湿度数据。     DHT11一次完整的数据传输为40bit,高位先出。 数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和     DHT11的初始化时序如下: 读取数据0的时序如下:   读取数据1的时序如下:     将PA1引脚用作DHT11传感器的DATA线   配置PA1为输入或输出模式函数定义:   设置PA1的输出值函数及读取DATA线上的数据函数:   初始化函数:   读1位数据:   读取一个字节数据:   读取温度和湿度的整数部分: th的 高8位为温度值,低8位为湿度值。      

  • 2019-05-17
  • 发表了主题帖: 开发环境准备

    这次入围GD32E231开发板的测评活动很开心,能有机会体验一下国产MCU的实力。进到大赛的官网:http://www.eeworld.com.cn/huodong/GigaDevice_GD32E231Contest_201903/,点击“资料下载”即可下载到这个开发板资料。 GD32E231C-START 评估板用户指南可以看到开发板的简介、需要软件工具及开发例程等信息。 可以使用Keil V5和IAR软件中的一款来开发评估板,我选择使用Keil V5软件5.25版本。具体的安装程序就不细说了,网上的资料很多,我们来介绍一下安装GigaDevice.GD32E23x_DFP.1.0.0.pack,这个安装包里包含了GD32E231芯片的相关文件。双击图标就可以安装,找到本机上安装的KeilV5路径。或是打开KeilV5,点击Pack Installer。点击File选择菜单里的Import,导入GigaDevice.GD32E23x_DFP.1.0.0.pack安装包。点击打开,稍等一会就安装完成了。安装完成后,可以看到有我们的目标芯片,至此就可以进行后面的开发了。

  • 2019-02-11
  • 回复了主题帖: 分享一本Cortex M3内核的书籍

    ddllxxrr 发表于 2019-2-11 10:33 谢谢分享
    不客气:handshake

  • 2019-02-10
  • 回复了主题帖: 无线模块收发同频和异频的区别

    同频是指收发采用相同的频率,异频是指收发分别采用不同的频率。双方各有所长,比如同频能够使用较少的频率资源来双向通信;而异频收发由于采用不同的频率资源,因此彼此干扰较小,收发相对容易控制。在同频通信时,可以采用时分复用,即规定不同的时间段发送和接收,比较4G的LTE-TDD,就采用这种时分复用。

  • 回复了主题帖: FPGA有哪些优点?哪里体现了FPGA的优势?

    FPGA最大的特点是对硬件电路直接编程,并行计算,运算速度快。ASIC芯片为定制的专用集成电路,一经出厂电路是固化的,不能编程。MCU上一般集成了多个功能模块,通过配置寄存器可以调用相应的模块,而配置寄存器或使用MCU不是改变MCU的硬件电路,一般是用C语言,最终转换成机器命令配置寄存器。

  • 发表了主题帖: 分享一本Cortex M3内核的书籍

    该书为中文版,介绍了Cortex M3指令集, 中断向量表,存储器系统 ,处理器的内部结构,内部异常,Cortex-M3的低层编程 ,调试系统架构 ,Systick定时器,NVIC等,帮助大家理解M3内核。

  • 2019-02-01
  • 回复了主题帖: 论坛春节值班表

    辛苦各位了!

  • 2019-01-25
  • 回复了主题帖: 瑞萨电子RL78/G11目标板免费申请活动【50元京东卡获奖名单】

    确认个人信息无误,谢谢!

  • 2019-01-23
  • 回复了主题帖: Maxim 利用nanoPower创新技术,致力于降低系统的静态功耗,看视频答题赢好礼!颁奖啦

    确认个人信息无误,谢谢!

最近访客

< 1/2 >

统计信息

已有13人来访过

  • 芯币:64
  • 好友:--
  • 主题:11
  • 回复:12
  • 课时:1
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言