C语言学习-通过柴田望洋的《明解C语言》(3)

来源:互联网 发布:台风战斗机 知乎 编辑:程序博客网 时间:2024/06/05 03:21

 昨天没有写,打球吃饭到很晚。

今天把昨天没有完成的看了下。主要是STM32F107的端口和中断部分。结合键盘扫描的例程做了一些了解。

端口GPIO寄存器主要有:1.GPIOx_CRL 2.GPIOx_CRH 3.GPIOx_IDR 4.GPIO_ODR 5.GPIO_BSRR 6.GPIOx_BRR 7.GPIOx_LCKR

端口输入输出分别可以配置为四种模式:

输入:模拟输入,浮空输入,下拉输入,上拉输入。

输出:OD,PP,复用OD,复用OP。


在复用中包括,没有重映像,部分重映像,完全重映像。


还看了AFIO,EXTI的简介和寄存器。但是因为没有使用,所以印象不是太深。


在看程序的过程中了解了枚举类型enum。

主要看了两个函数GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef * GPIO_InitStruct) 和函数 uint8_t GPIO_ReadInputDataBit( , )(此处省略参数)

感觉看函数还是很有用的,看了程序中形参的类型,也在使用函数的过程中发现了实参的类型。发现像端口,引脚之类的定义形式都是以地址类型来定义的。


在看后一个函数的过程中,看到了一个enum的实际应用,注意enum变量中的值是一次向后取得,也可以中间改变,要注意规则。

如果要读一个引脚的值,通过与的方法消除其它引脚的值,保留这个引脚的值,和0进行比较。


主要就是这些。


觉得要改善的地方是,学习效率要提高,对于这个芯片了解的还不够,中断定时器的例程还没有接触到。

这个程序中有很多写好的程序,要有重点地分析几个,大概地看一下。自己动手写的程序比较少。


明天的打算:看一下这个芯片定时器和中断的例程。

回想一下,对这个芯片了解的还是很少,时间有限,要加油!

0 0