CH579 函数应用详解
本帖最后由 wfw69 于 2021-1-28 16:36 编辑初次使用沁恒单片机,感觉很多函数跟STM32不一样,大家来接力,把自己明白的函数跟贴发上来,大家说可行吗?
本帖最后由 wfw69 于 2021-1-6 16:35 编辑
CH57xBLE协议栈库说明
CH57x蓝牙开发入门一 CH57xNET协议栈库说明
这个支持mesh网络吧? 本帖最后由 wfw69 于 2021-1-11 15:38 编辑
一起学习,共同进步{:lol:}
本帖最后由 wfw69 于 2021-1-28 17:36 编辑
一、GPIO简介及其库函数介绍
GPIO,全称为通用输入输出端口,其可与外部设备连接实现MCU与外部设备的通讯、控制、信号采集等功能。关于CH57x GPIO的具体介绍,可参考CH57x数据手册。
GPIO相关的函数和定义分布在固件库文件ch57x_gpio.c和头文件ch57x_gpio.h文件中,GPIO库函数相关函数如下:
1、void GPIOA_ModeCfg( UINT32 pin, GPIOModeTypeDef mode );
功能:GPIOA端口引脚模式配置
参数: pin:PA0-PA15
GPIO_Pin_0 - GPIO_Pin_15
mode:
GPIO_ModeIN_Floating -浮空输入
GPIO_ModeIN_PU -上拉输入
GPIO_ModeIN_PD -下拉输入
GPIO_ModeOut_PP_5mA -推挽输出最大5mA
GPIO_ModeOut_PP_20mA-推挽输出最大20mA
2、void GPIOB_ModeCfg( UINT32 pin, GPIOModeTypeDef mode );
功能:GPIOB端口引脚模式配置
参数: pin:PB0-PB23
GPIO_Pin_0 - GPIO_Pin_23
mode:
GPIO_ModeIN_Floating-浮空输入
GPIO_ModeIN_PU -上拉输入
GPIO_ModeIN_PD -下拉输入
GPIO_ModeOut_PP_5mA -推挽输出最大5mA
GPIO_ModeOut_PP_20mA-推挽输出最大20mA
3、void GPIOA_ITModeCfg( UINT32 pin, GPIOITModeTpDef mode );
功能:GPIOA引脚中断模式配置
参数: pin:PA0-PA15
GPIO_Pin_0 - GPIO_Pin_15
mode:
GPIO_ITMode_LowLevel -低电平触发
GPIO_ITMode_HighLevel-高电平触发
GPIO_ITMode_FallEdge -下降沿触发
GPIO_ITMode_RiseEdge -上升沿触发
4、void GPIOB_ITModeCfg( UINT32 pin, GPIOITModeTpDef mode );
功能:GPIOB引脚中断模式配置
参数: pin:PB0-PB15
GPIO_Pin_0 - GPIO_Pin_15
mode:
GPIO_ITMode_LowLevel -低电平触发
GPIO_ITMode_HighLevel-高电平触发
GPIO_ITMode_FallEdge -下降沿触发
GPIO_ITMode_RiseEdge -上升沿触发
5、void GPIOPinRemap( UINT8 s, UINT16 perph );
功能:外设功能引脚映射
参数:
s:
ENABLE- 引脚映射
DISABLE - 默认引脚
perph:
RB_PIN_SPI0 - SPI0:PA12/PA13/PA14/PA15-> PB12/PB13/PB14/PB15 RB_PIN_UART3-UART3: PA4/PA5 ->PB20/PB21
RB_PIN_UART2-UART2: PA6/PA7 ->PB22/PB23
RB_PIN_UART1-UART1: PA8/PA9 ->PB8/PB9
RB_PIN_UART0-UART0: PB4/PB7 ->PA15/PA14
RB_PIN_TMR3 -TMR3:PA2 ->PB18
RB_PIN_TMR2 -TMR2:PA11 ->PB11
RB_PIN_TMR1 -TMR1:PA10 ->PB10
RB_PIN_TMR0 -TMR0:PA3 ->PB19
6、void GPIOAGPPCfg( UINT8 s, UINT16 perph );
功能:模拟外设GPIO引脚功能控制
参数:
s:
ENABLE- 打开模拟外设功能,关闭数字功能
DISABLE - 启用数字功能,关闭模拟外设功能
perph:
RB_PIN_ADC0_1_IE -ADC0-1通道
RB_PIN_ADC2_3_IE -ADC2-3通道
RB_PIN_ADC4_5_IE -ADC4-5通道
RB_PIN_ADC6_7_IE -ADC6-7通道
RB_PIN_ADC8_9_IE -ADC8-9通道
RB_PIN_ADC10_11_IE -ADC10-11通道
RB_PIN_ADC12_13_IE -ADC12-13通道
RB_PIN_XT32K_IE -外部32K引脚
RB_PIN_USB_IE -USB功能信号引脚
RB_PIN_ETH_IE -以太网功能信号引脚
RB_PIN_SEG0_3_IE -LCD控制器SEG0-3驱动引脚
RB_PIN_SEG4_7_IE -LCD控制器SEG4-7驱动引脚
RB_PIN_SEG8_11_IE -LCD控制器SEG8-11驱动引脚
RB_PIN_SEG12_15_IE -LCD控制器SEG12-15驱动引脚
RB_PIN_SEG16_19_IE -LCD控制器SEG16-19驱动引脚
RB_PIN_SEG20_23_IE -LCD控制器SEG20-23驱动引脚 认为其实每个厂家的库都是大同小异,不过大家为了不侵权搞的有点特殊而已,英语就那么点,所以变得越来越奇怪了 楼上说的是那么个意思 跟STM32还是有区别的 感谢二楼的分享,我下载之后,看看协议栈。 感谢分享 wfw69 发表于 2021-1-6 16:33
CH57x蓝牙开发入门一
CH57x蓝牙开发入门有二吗?怎么感觉写了一半啊?
感谢分享,下载看看。 东方之光 发表于 2021-1-23 18:31
CH57x蓝牙开发入门有二吗?怎么感觉写了一半啊?
等厂家技术员来回答{:lol:} 蓝牙我用例子能连接手机,就是这么修改还不会啊。发送数据还没找到借口。
shzps 发表于 2021-1-26 10:09
蓝牙我用例子能连接手机,就是这么修改还不会啊。发送数据还没找到借口。
...
一样没有找到入口,希望厂家的技术支持,要把用户当小白,盼望应用手册更详细一点 支持mesh网络不 本帖最后由 wfw69 于 2021-1-28 17:43 编辑
二、定时器函数
1、定时和计数
TMRx_TimerInit( UINT32 t );
功能:定时功能初始化
参数:t: 定时时间,基于当前系统时钟Tsys, 最长定时周期 67108864
TMRx_EXTSingleCounterInit( UINT32 c );
功能:外部信号计数功能初始化
参数:c: 外部送入信号脉冲计数, 最长计数 67108864
2、PWM功能
TMRx_PWMInit( PWMX_PolarTypeDef pr, PWM_RepeatTsTypeDef ts );
功能:PWM 输出初始化
参数:
pr:选择波极性(指PWMX_PolarTypeDef)
PWMX_PolarTypeDef:
High_Level = 0, 默认低电平,高电平有效
Low_Level, 默认高电平,低电平有效
ts:设置pwm重复次数(指PWM_RepeatTsTypeDef)
PWM_RepeatTsTypeDef:
PWM_Times_1 = 0,PWM 有效输出重复1次数
PWM_Times_4, PWM 有效输出重复4次数
PWM_Times_8, PWM 有效输出重复8次数
PWM_Times_16, PWM 有效输出重复16次数
3、捕捉脉宽
TMRx_CapInit( CapModeTypeDef cap );
功能:外部信号捕捉功能初始化
参数:cap:选择“捕获模式”(指CapModeTypeDef)
CapModeTypeDef:
CAP_NULL = 0, 不捕捉
Edge_To_Edge, 任意边沿之间
FallEdge_To_FallEdge, 下降沿到下降沿
RiseEdge_To_RiseEdge, 上升沿到上升沿
三、UARTx 串口库函数介绍:
1、UARTx_DefInit();
功能: 串口默认初始化配置
参数:无
2、UARTx_BaudRateCfg( UINT32 baudrate );
功能: 串口波特率配置
参数:110-115200
3、UARTx_ByteTrigCfg( UARTByteTRIGTypeDef b );
功能:串口字节触发中断配置
参数:b: 触发字节数
4、UARTx_INTCfg( UINT8 s,UINT8 i );
功能:串口中断配置
参数:
s:中断控制状态
ENABLE- 使能相应中断
DISABLE - 关闭相应中断
i:中断类型
RB_IER_MODEM_CHG- 调制解调器输入状态变化中断使能位(仅 UART0 支持)
RB_IER_LINE_STAT- 接收线路状态中断
RB_IER_THR_EMPTY- 发送保持寄存器空中断
RB_IER_RECV_RDY - 接收数据中断
5、UARTx_Reset();
功能:串口软件复位
参数:无
6、UARTx_SendString( PUINT8 buf, UINT16 l );
功能:串口多字节发送
参数:buf - 待发送的数据内容首地址
l - 待发送的数据长度
7、UINT16 UARTx_RecvString( PUINT8 buf );
功能:串口读取多字节
参数:buf - 读取数据存放缓存区首地址
返回:读取数据长度
页:
[1]
2