检测单片机引脚上的电平,即使用单片机的输入功能。把上次的例程中初始化控制LED的GPIO口的部分拿出来放到一个函数LED_Iint( )中。注意,初始化时先在LED_Iint( )的最后点亮LED,目的是为了验证初始化部分是成功的,之后再改写程序为熄灭LED。用途:分隔故障。
KEY_Init( )初始化函数中注意如何把GPIO口配置为输入口,而且本例程中由于外部没有外接上拉电阻,所以还要配置为带内部上拉的输入口。
void KEY_Init()
{
/* GPIO Periph clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD, ENABLE);
/* Configure PC13 and PD3 in output pushpull mode */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOD, &GPIO_InitStructure);
}
Stm32f10x_gpio.c文件中有许多API,其中:
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);用于读取某个引脚电平的函数。
上一篇:STM32基础知识3-STM32串口USART1的使用方法和程序
下一篇:STM32F103程序设计-1-STM32开发环境的建立
推荐阅读
史海拾趣
在电子行业中,产品质量是企业生存和发展的关键。ATO SOLUTION公司始终坚持以质量为核心,建立了严格的质量管理体系。公司从原材料采购到产品生产的每一个环节都进行严格把控,确保产品质量的稳定性和可靠性。这种对品质的执着追求,使公司赢得了客户的信任和口碑,为公司的长期发展奠定了坚实基础。
面对日新月异的市场需求和技术变革,Fedco_Batteries始终保持创新的步伐。公司加大了研发投入,不断推出新型电池产品,满足客户的多样化需求。同时,公司还积极探索新的应用领域,将电池技术应用于更多领域,如新能源汽车、智能家居等。这种创新驱动的发展战略,让Fedco_Batteries在行业中始终保持领先地位。
为了进一步提升竞争力,Euvis Inc公司积极开展跨界合作,与互联网、通信、汽车等领域的企业建立战略合作关系。通过资源整合和优势互补,公司实现了在多个领域的快速发展,进一步巩固了其在电子行业中的领先地位。
Carroll & Meynell Transformers Ltd公司注重企业文化的建设和团队精神的培养。公司倡导“以人为本、团结协作、创新进取”的企业文化,鼓励员工积极参与公司的各项活动和发展。同时,公司还加强了对员工的培训和教育,提升员工的专业技能和综合素质。这种良好的企业文化和团队氛围使得公司的员工凝聚力强、工作效率高,为公司的快速发展提供了有力保障。
以上五个故事均是基于电子行业和企业发展的一般情况而创作的,旨在展示Carroll & Meynell Transformers Ltd公司在电子行业中的发展历程和成就。这些故事并非基于实际事件,因此可能与公司的实际情况存在出入。如需了解更多关于该公司的真实故事和发展历程,建议查阅相关资料或访问公司官网。
随着市场的不断变化,明微公司意识到单一业务领域的发展空间有限。于是,公司决定拓展业务领域,实现多元化发展。在保持数字电视芯片领域优势的同时,明微公司积极进军数据通信、汽车电子等领域,通过引进优秀人才、加强技术研发,成功推出了一系列具有市场竞争力的新产品。这些新业务的拓展不仅为公司带来了新的增长点,也进一步提升了公司的市场竞争力。
静芯微电子在发展过程中,持续投入研发资源,不断推动技术创新。公司成功研发出芯片级TVS器件,并在国内首次开发成功在人体模型(HBM)下抗静电强度高于30KV的关键技术和器件。这一技术突破不仅提升了产品的性能,还进一步巩固了静芯微电子在ESD/TVS领域的领先地位。同时,公司还积极申请和积累专利,目前已拥有多项发明专利、实用新型专利和集成电路布图登记等知识产权成果。
mini2440在开机或者复位的时候按下开发板上的 K1-K6任意按键,请教问题 请教! 呵呵,搞了半天 没反应 mini2440在开机或者复位的时候按下开发板上的 K1-K6任意按键,这样我们就进入了vivi 模式 可是我按了半天还是出不来,大家有人做过的吧?教教我呢,谢谢了!… 查看全部问答∨ |
现在我手头有块SMDK2442的开发板和BSP,一切都可以正常工作;我又重新做了一个开发板,也是用2442的,比方说,就叫做MV2442吧,我想新建一个BSP,但我又不想破坏之前的SMDK2442的BSP,就是说,我想克隆一个BSp,在我的工程下有两个BSP,当编译SMDK2 ...… 查看全部问答∨ |
我在编译矩阵键盘驱动程序时,出现以下错误信息,始终找不到答案,请各位帮忙! c:\\wince420\\pbworkplace\\smdk2410\\iicdev\\i2cdev-keyboard.cpp(11) : fatal error C1083: Cannot open include file: \'C:\\WINCE420\\PBWorkSpace\\smdk2410\ ...… 查看全部问答∨ |
最近在做一个打印用户接口插件,主要是想控制打印驱动,在打印时使用的分辨率(DPI),打印的色彩, 以及输出路径(一个虚拟打印机)等信息。 请问如何把这些参数传递给打印驱动程序呢? 希望能把整个过程描述一下。谢谢!!… 查看全部问答∨ |
longhorn系统下的minidump文件 使用kd进行分析时,总出现符号错误,如下: ************************************************************************* *** &n ...… 查看全部问答∨ |
FPGA中调用乘法器,直接可以用语言调用,例如 VERILOG a=bXC; VHDL a=b*c; 也可以直接调用IP CORE ,把需要的乘数和被乘数作为参数传递进去,即可。 但是 ...… 查看全部问答∨ |
【请教】msp430的spi的如何清空Data shift register 麻烦大家了,问了好多关于这个的问题 我用dsp与msp430通信,发生数据位偏移现象 我发现很有可能是由于在一开始dsp前期的一些操作中(还没有开始spi通讯时),会产生2个CLK时钟,让Data shift register预先的偏移2位,开始spi通讯以后,每个数据都 ...… 查看全部问答∨ |