打印
[蓝牙芯片]

CH579 函数应用详解

[复制链接]
4793|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wfw69|  楼主 | 2021-1-6 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wfw69 于 2021-1-28 16:36 编辑

初次使用沁恒单片机,感觉很多函数跟STM32不一样,大家来接力,把自己明白的函数跟贴发上来,大家说可行吗?

使用特权

评论回复
沙发
wfw69|  楼主 | 2021-1-6 16:31 | 只看该作者
本帖最后由 wfw69 于 2021-1-6 16:35 编辑

CH57xBLE协议栈库说明

CH57xBLE协议栈库说明.pdf

588.84 KB

使用特权

评论回复
板凳
wfw69|  楼主 | 2021-1-6 16:33 | 只看该作者
CH57x蓝牙开发入门一

CH57x蓝牙开发入门一.pdf

1.96 MB

使用特权

评论回复
地板
wfw69|  楼主 | 2021-1-6 16:34 | 只看该作者
CH57xNET协议栈库说明

CH57xNET协议栈库说明.pdf

859.61 KB

使用特权

评论回复
5
单片小菜| | 2021-1-8 10:18 | 只看该作者
这个支持mesh网络吧?

使用特权

评论回复
6
wfw69|  楼主 | 2021-1-8 10:46 | 只看该作者
本帖最后由 wfw69 于 2021-1-11 15:38 编辑

一起学习,共同进步


使用特权

评论回复
7
wfw69|  楼主 | 2021-1-11 15:42 | 只看该作者
本帖最后由 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驱动引脚

使用特权

评论回复
8
jerow| | 2021-1-14 20:29 | 只看该作者
认为其实每个厂家的库都是大同小异,不过大家为了不侵权搞的有点特殊而已,英语就那么点,所以变得越来越奇怪了

使用特权

评论回复
9
onlycook| | 2021-1-15 11:21 | 只看该作者
楼上说的是那么个意思

使用特权

评论回复
10
wfw69|  楼主 | 2021-1-15 15:28 | 只看该作者
跟STM32还是有区别的

使用特权

评论回复
11
里面有晴雨| | 2021-1-15 17:43 | 只看该作者
感谢二楼的分享,我下载之后,看看协议栈。

使用特权

评论回复
12
weict125| | 2021-1-19 09:34 | 只看该作者
感谢分享

使用特权

评论回复
13
东方之光| | 2021-1-23 18:31 | 只看该作者
wfw69 发表于 2021-1-6 16:33
CH57x蓝牙开发入门一

CH57x蓝牙开发入门有二吗?怎么感觉写了一半啊?

使用特权

评论回复
14
yangxiaor520| | 2021-1-24 10:39 | 只看该作者
感谢分享,下载看看。

使用特权

评论回复
15
wfw69|  楼主 | 2021-1-25 11:06 | 只看该作者
东方之光 发表于 2021-1-23 18:31
CH57x蓝牙开发入门有二吗?怎么感觉写了一半啊?

等厂家技术员来回答

使用特权

评论回复
16
shzps| | 2021-1-26 10:09 | 只看该作者
蓝牙我用例子能连接手机,就是这么修改还不会啊。发送数据还没找到借口。

使用特权

评论回复
17
wfw69|  楼主 | 2021-1-26 10:59 | 只看该作者
shzps 发表于 2021-1-26 10:09
蓝牙我用例子能连接手机,就是这么修改还不会啊。发送数据还没找到借口。
...

一样没有找到入口,希望厂家的技术支持,要把用户当小白,盼望应用手册更详细一点

使用特权

评论回复
18
jcky001| | 2021-1-26 16:58 | 只看该作者
支持mesh网络不

使用特权

评论回复
19
wfw69|  楼主 | 2021-1-28 16:35 | 只看该作者
本帖最后由 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,         上升沿到上升沿






使用特权

评论回复
20
wfw69|  楼主 | 2021-1-28 17:39 | 只看该作者
三、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 - 读取数据存放缓存区首地址
返回:读取数据长度

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

143

帖子

0

粉丝