STM32F103ZET6学习总结……

1.任何外设在使用之前,必须先使能相应的时钟。

2.使用不同外设时,GPIO引脚应该如何配置?

       答:详见《STM32中文参考手册》8.1.11小节。

工作方式

(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
3GPIO_Mode_IPD 下拉输入
4GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
6GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出

上电复位后,GPIO默认为浮空状态,部分特殊功能引脚为特定状态。


3.MDK中u8是什么数据类型?

       答:右键--转到定义--出现一个Browser的窗口--双击u8--跳转到stm32f10x.h:typedef uint8_t  u8;

--查看uint8_t定义:typedef  unsigned char uint8_t;

4.void __bis_SR_register(unsigned short){}函数
功能:将CPU 中SR 寄存器中的某些位置1。其参数为屏蔽码,需要置1 的位为1。
例:
__bis_SR_register(LPM3_bits + GIE);//CPU进入LPM3低功耗模式,同时打开全局中断
5.__no_init关键字?
答:__no_init用于禁止系统启动时的变量初始化,是给LINKER用的,定义到不初始化的块中去,在系统意外复位时,这个变量值能保留。
noinit做到复位后数据保持不变。

6.硬件在线调试:先将程序下载到MCU,然后按“Debug”按钮进入调试状态。

7.利用库函数编写串口程序时:设置完相关串口操作后,不要忘了使能串口,并设置使用的串口中断。

//使能串口1
       USART_Cmd(USART1,ENABLE); 
//设置中断类型
       USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);///USART_IT_RXNE接收缓冲区非空;ENABLE打开此中断

8.学习外部中断时,感觉外部中断反应很迟钝?

    原因:按键触发外部中断,按键后,引脚接地,应该使用下降沿触发,我却使用了上升沿。

9.关于STM32,一次中断,多次进入中断服务函数的问题说明?http://www.openedv.com/posts/list/27442.htm

10.STM32什么时候开启复用时钟AFIO?答:只要操作EVCR/EXTICRX/MAPR的时候,就必须开启复用功能时钟. 
也就是说,当你要配置stm32的事件输出/外部中断/重映射的时候.就必须开启复用时钟。

11.查看STM32引脚的默认功能及重映射后的功能?答:《STM32f10xZET6 DataSheet》Table5中查看

12.学习正点原子RTC的例程时,程序没有报错,就是不正常运行?原因:调用的其他原文件中有个printf的函数,而在我的usart.c中,没有写这个函数。

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值