CH579 Cortex-M0 内核低功耗蓝牙 MCU 集成 ARM 内核 32 位微控制器

概述

CH579 是集成 BLE 无线通讯的 ARM 内核 32 位微控制器。片上集成低功耗蓝牙 BLE 通讯模块、以太网控制器及收发器、全速 USB 主机和设备控制器及收发器、段式 LCD 驱动模块、ADC、触摸按键检测模块、RTC 等丰富的外设资源。

特点

  • 32 位 ARM Cortex-M0 内核,最高 40MHz 系统主频
  • 内置 32K SRAM,250KB CodeFlash,2KB DataFlash, 4KB BootLoader,支持 ICP、ISP 和 IAP,支持 OTA 无线升级
  • 支持蓝牙 BLE,兼容 Bluetooth Low Energy 4.2 规范
  • 集成 2.4GHz RF 收发器和基带及链路控制,单端 RF 接口,无需外部电感,简化板级设计,提供协议栈和应用层 API
  • 支持 3.3V 和 2.5V 电源,范围 2.1V~3.6V, 内置 DC/DC 转换,0dBm 发送功率时电流 6mA
  • 多种低功耗模式:Idle,Halt,Sleep,Shutdown,内置电池电压低压监控,最低电流 0.2uA
  • 提供 10M 以太网接口,内置 PHY
  • 内嵌 USB 控制器和 USB 收发器,支持 USB2.0 全速和低速主机或设备,支持控制 / 批量 / 中断同步传输,支持 USB type-C 主从 / 电流检测
  • 内置实时时钟 RTC,支持定时和触发两种模式
  • 提供段式 LCD 驱动接口,支持 96 点(24×4)LCD 面板
  • 提供 14 通道 12 位 ADC 模数转换器,支持 14 通道触摸按键
  • 提供 4 组 26 位定时器,支持捕捉 / 采样,支持 12 路 PWM 输出
  • 提供 4 组独立 UART,兼容 16C550,最高通讯波特率可达 5Mbps
  • 提供 2 组独立 SPI,内置 FIFO ,SPI0 支持 Master 和 Slave 模式,支持 DMA
  • 提供 LED 点阵屏接口:支持 1/2/4 路数据线
  • 支持 8 位被动并口
  • 内置温度传感器
  • 提供 40 个 GPIO,32 个中断输入
  • 内置 AES-128 加解密单元,芯片唯一 ID
  • 封装:QFN48_5X5、QFN28_4X4

要实现温湿度传感器,你可以使用ch579芯片连接温湿度传感器模块,并通过I2C或者SPI协议读取温湿度传感器的数据。 以下是一个简单的示例代码,使用ch579芯片和DHT11温湿度传感器模块进行通信,获取温湿度数据: ```c #include "ch579.h" #include "ch579_gpio.h" #define DHT_PIN GPIO_Pin_0 #define DHT_OUT_L() GPIO_PinWrite(DHT_PIN, 0) #define DHT_OUT_H() GPIO_PinWrite(DHT_PIN, 1) #define DHT_IN() GPIO_PinRead(DHT_PIN) void delay_us(uint32_t us) { uint32_t i; for(i = 0; i < us*12; i++); } void DHT11_Start(void) { DHT_OUT_L(); delay_us(18000); DHT_OUT_H(); delay_us(20); DHT_OUT_L(); delay_us(40); } uint8_t DHT11_Read_Bit(void) { uint8_t retry = 0; while(DHT_IN() == 0 && retry < 100) { retry++; delay_us(1); } retry = 0; while(DHT_IN() == 1 && retry < 100) { retry++; delay_us(1); } delay_us(60); return (DHT_IN() == 1) ? 1 : 0; } uint8_t DHT11_Read_Byte(void) { uint8_t i, value = 0; for(i = 0; i < 8; i++) { value |= DHT11_Read_Bit() << (7 - i); } return value; } uint8_t DHT11_Read_Data(uint8_t *data) { uint8_t i; DHT11_Start(); if(DHT_IN() == 0) { while(DHT_IN() == 0); while(DHT_IN() == 1); for(i = 0; i < 5; i++) { data[i] = DHT11_Read_Byte(); } if(data[4] == (data[0] + data[1] + data[2] + data[3])) { return 0; } } return 1; } void main(void) { uint8_t data[5]; uint16_t temp, humi; CH579_Init(); GPIO_PinConfig(DHT_PIN, GPIO_Mode_Out_OD); DHT_OUT_H(); while(1) { if(DHT11_Read_Data(data) == 0) { humi = data[0] * 10 + data[1]; temp = data[2] * 10 + data[3]; printf("Temperature: %d.%d C, Humidity: %d.%d %%\r\n", temp/10, temp%10, humi/10, humi%10); } CH579_Delayms(500); } } ``` 这个示例代码使用DHT11温湿度传感器模块,通过GPIO口与ch579芯片进行连接。在读取温湿度数据之前,通过DHT11_Start()函数发送起始信号,然后通过DHT11_Read_Data()函数读取数据。最后,将读取到的温湿度数据打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值