STM32学习笔记——使用函数库编程控制GPIO口输出
C/C++Compiler> If your application source code include CMSISheader files explicitly, then you should not check theUse CMSIScheck-boxProject>Options...>GeneralOptions>Library Configuration> [cpp]view plaincopy 2.1.6GPIO_ResetBits函数 函数名 GPIO_ResetBits 函数原型 void ResetBits(GPIO_TypeDef* GPIOx,u16 GPIO_Pin) 功能描述 清除选定的数据端口位 输入参数1 GPIOx:x=A…E 输入参数2 GPIO_Pin:GPIO_Pin_x(x=0…15)的任意组合 输出参数 无 返回参数 无 前提条件 无 调用函数 无 实例: [cpp]view plaincopy 2.1.7GPIO_Write函数 函数名 GPIO_Write 函数原型 voidGPIO_Write(GPIO_TypeDef* GPIOx,u16 PortVal) 功能描述 写数据到指定的GPIO端口数据寄存器 输入参数1 GPIOx:x=A…E 输入参数2 PortVal:写入到数据端口寄存器的值 输出参数 无 返回参数 无 前提条件 无 调用函数 无 实例: [cpp]view plaincopy 2.2 完整程序: [cpp]view plaincopy 编译通过烧写到开发板上后,最终结果是:led1和led3与led2和led4两两交替亮灭。 参考文献 [1]jhliuzj.IAR FOR ARM6.20工程创建建议(固件库为3.5)[EB/OL]. http://hi.baidu.com/jhliuzj/item/459830ae7e19e136020a4d3f [2]kiropower.IARSTM32项目工程创建[EB/OL].http://hi.baidu.com/kiropower/item/e20faad0007502352b35c785 [3]gasbi.startup_stm32f10x_xx.s启动代码文件选择[EB/OL]. http://blog.csdn.net/gasbi/article/details/7545568,2012-05-08/2012-08-25. [4]IAR Systems AB.Releasenotes for the IAR C/C++ Compiler for ARM 6.20.1[EB/OL].http://supp.iar.com/FilesPublic/UPDINFO/005832/arm/doc/infocenter/iccarm.ENU.html,2012-08-25 [5]Changing.用stm32点个灯[操作寄存器+库函数][EB/OL]. http://www.ichanging.org/stm32_gpio_led.html, 关于标签定义问题,由于在main函数开头即声明#include "stm32f10x.h",而该头文件里又有如下代码: [cpp]view plaincopy 即当定义USE_STDPERIPH_DRIVER时,就会包含stm32f10x_conf.h,而我们在设置项目的时候,在"c/c++ compiler>define" 项中已经对其进行了预定义,所以也会自动加入stm32f10x_conf.h文件,该文件中包含了所有外设的头文件,因此可以直接调用函数。对不需要使用的外设,可以直接在该文件中将其注释掉,这样在编译的时候就不会编译被注释的文件。 参考文献:jack.stm32f10x_conf.h与stm32f10x.h(转载)[EB/OL].http://blog.sina.com.cn/s/blog_7b93041501013o5b.html,2012-05-01/2012-08-27
STM32函数库编程控制GPIO 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)