关于CH32V103C8T6函数使用的问题

如题,开发CH32V103C8T6开发板时,有几个问题。

  1. 一些函数比如:GPIO_Toggle_INIT , GPIO_WriteBit或者其他的函数,这些是像STM32HAL库一样都定义好了直接拿来用就可以了是吗?

  2. 这些函数的使用方法,比如:函数名,作用,参数,返回值这些信息有相应的文档可以查阅吗? 以前开发STM32的时候是有一个类似这种库函数的手册查阅的,请问沁恒有这方面的手册或者使用资料吗?

串口函数 void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)中:

image.png

image.png

问题1: CTLR1&0x8000不是为0吗?那这个if判断有什么作用?

问题2:fractionaldivider为什么算出来好像是0?  100 * (tmpreg >> 4)不是等于integerdivider吗,根据上一条语句


你好,关于你问的第一个问题,其中GPIO_Toggle_INIT是用户自定义函数,名称是自己定的,GPIO_WriteBit是标准库的函数,可以直接调用。关于标准库函数的定义和说明,可参考下列V103应用教程链接:

https://bbs.21ic.com/icview-3037572-1-1.html



关于你截图圈出来1处,此处应结合前面赋值来看,不应该将其看作是寄存器一个位,而是当做一个变量,根据前面赋值来进行判断,关于2处计算,建议结合上下赋值及判断语句逐步进行计算



谢谢。我先在仔细看下。。


今天看还有个问题没看懂,想请问下:image.png

这个函数中,

1.image.png 这句话是什么意思? 

2.为什么1<


image.png 

image.png 


首先,#define是一个宏定义,使用RV_STATIC_INLINE来表示static inline,关于inline,是GNU编译器的内联关键字,关于static inline的解释,可参考下列链接或自行百度,网上有很多解释说明。

https://blog.csdn.net/a1508289048/article/details/53405577


关于NVIC_EnableIRQ函数,该函数意思为使能中断,以EXTI0中断举例,具体可见下图:

Snipaste_2021-09-27_19-19-36.jpg

建议遇到不理解先百度,很多问题网上都有解释说明的


谢谢,我看明白了。。


只有登录才能回复,可以选择微信账号登录