stm32f103c8t6有多少个外部引脚 STM32f103ZET6,学习资料
在这之前抛出来几个图片。下面慢慢解释
APB2的 RCC_APB2ENR寄存器 <1>
<2>
<3>
注意入口参数 USART1 <4>
在STM32学习过程中,肯定会涉及到寄存器的操作,例如上图的操作就是在选定了串口1的时钟使能位,并对他的时钟进行使能。
解释图1:
保留:APB2的 RCC_APB2ENR寄存器是一个32位的寄存器 ,可以观察到高16位默认不操作,只进行低十六位的操作,这样就很方便的进行后续的扩展,我们应该学会这样的扩展思维。
偏移地址:该寄存器的偏移地址表示这个寄存器在APB2的基地址上进行了偏移。偏移位为0X18;前一个寄存器的偏移值位0x14,因为32位占用了四个字节,所以这个寄存器的偏移值就成为了0x18;那顾名思义下一个的偏移地址就是0x1c;
位代表: 例如上面的第十五位 (ADC3EN) ,在我们需要打开ADC3时钟的时候就需要打开这个位,使ADC3EN置1 .此例子中需要使能USARTEN位为1. 关掉顾名思义就需要置0.这样就关掉了这个外设的时钟。
操作界限:上面的rw代表软件可以进行读写此位,所有的表示如下
寄存器操作界限
解释图2
assert_param()这个函数,这个函数是判断形参RCC_APB2Periph有没有错误,在这个里面代表USART1。
解释图3
用APB2RSTR这个寄存器来复位等式右边形参代表的实参。
解释图4
两个形参,一个代表将要使能的外设此处位USART1时钟,第二个ENABLE,代表使能。如果位DISABLE那意思就是失能USART1的时钟。
注释:特别说明下
assert_param()这个函数这个函数是使能GPIOB和GPIOE端口的时钟的。GPIOB和GPIOE是属于APB2外设的所以用函数RCC_APB2PeriphClockCmd ( xxx , xxx) 来使能,我们在进RCC_APB2PeriphClockCmd ( xxx , xxx)函数里面看看:
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
{
assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
assert_param(IS_FUNCTIONAL_STATE(NewState));
if (NewState != DISABLE)
{
RCC->APB2ENR |= RCC_APB2Periph;
}
else
{
RCC->APB2ENR &= ~RCC_APB2Periph;
}
}
在这个函数里面就可以看见我们今天要学习的函数了,在这里我们就分析函数1,以点带面
1、assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
2、assert_param(IS_FUNCTIONAL_STATE(NewState));
1、assert_failed((uint8_t *)__FILE__, __LINE__)这个函数的__FILE__, __LINE__形参,可能是c语言自带的把,具体是怎么获取错误参数的文件和行号我也不知道。
2、加入我们传递的参数是RCC_APB2PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); 虽然RCC_APB1Periph_TIM2是属于APB1的,则在程序运行时是打印不出错误参数的,因为RCC_APB1Periph_TIM2 和 RCC_APB2Periph_AFIO 都等于0x00000001,大家可以去stm32f10x_rcc.h文件去看。所以大家在使用参数检查功能时还要自己注意一下参数有没有错误。官方这个查错功能不是万能的。
主要是为了检查入口参数,以防止用户输入错误,
推荐
- 1北美灰狼能战胜体重190斤的巨型狼青犬吗?北美灰狼能战胜体重190斤的巨型狼青犬吗128
- 2吉娃娃为什么是最坏的狗?拯救了500只狗的英雄吉娃娃去世了431
- 3哈弗大狗版2.0二手车价格,二手哈弗大狗2.0T带四驱430
- 4狗狗之间为什么没有生殖隔离?狗狗为什么会有近亲繁殖行为276
- 5折耳猫为啥站立,臭脸折耳猫站起来怒瞪482
- 6变异性哮喘和过敏性哮喘哪个好治?怎么治疗胸闷变异性哮喘213
- 780岁夫妇的山里日记:80,后夫妇的山村龟园198
- 8猫咪经常犯贱欺负别的猫怎么办?猫咪出去溜达一圈回来180
- 9布偶猫命令主人:让布偶猫服从坐的命令245
- 10相狗法如何一眼挑出一只好猎犬?千古难得一见的绝世奇书132
宠物
- 1猫咪有这样几个现象说明它喜欢你:猫主子有没有感情猫咪爱你的五个表现156
- 2狗狗与主人多年后重逢的感人瞬间:狗狗情侣获救后重逢时激动到不停拥抱310
- 3鱼感染了水霉病怎么治?鱼水霉病要怎么治疗鱼水霉病的防治措施236
- 4昭通豆沙关景区有什么特点?大美昭通,我们来了326
- 5狗狗肠胃炎好了能吃点什么?狗狗肠胃炎恢复吃什么187
- 6猫咪经常舔毛会有毛球吗?时间久了胃里堆积的毛太多容易形成毛球症299
- 7一眼看出傻猫和聪明猫:笨猫与聪明猫的区别这三个方面非常明显321
- 8狗狗有这几个表现说明它智商高:狗狗有这些气死人的毛病205
- 9又是可爱的一天法国斗牛犬:可爱的斗牛犬让你一次看个够228
- 10黄喉鹀分几种:自然之美,黄喉鹀389