zoukankan      html  css  js  c++  java
  • STM32 相关知识

    //GPIO的作业,抄两次,注意:本文件是知识点的整理不是可以直接运行的程序。
    
    //STM32必须包含的头文件
    #include "stm32f10x.h"
    //GPIO相关头文件
    #include "stm32f10x_gpio.h"
    //外部中断相关头文件
    #include "stm32f10x_exti.h"
    //内核相关的头文件,NVIC在这里
    #include "misc.h"
    
    /*GPIO配置使用步骤
    1.使能,调用函数:
    RCC_APB2PeriphClockCmd(
    RCC_APB2Periph_外设名,ENABLE);
    第一个参数是挂载在APB2总线下面的外设
    第二个参数是允许(ENABLE)或不允许(DISABLE)
    
    2.定义GPIO配置结构体的变量
    GPIO_InitTypeDef a;
    //这里若把GPIO改为
    //NVIC、TIM、I2C等就是
    //其他的外设配置结构体
    a.GPIO_Pin = GPIO_Pin_5;//GPIO的5号引脚
    a.GPIO_Speed = GPIO_Speed_50MHz;//速度
    a.GPIO_Mode = GPIO_Mode_Out_PP;//工作方式(推挽输出)
    
    3.调用函数初始化GPIO
    GPIO_Init(GPIOB,&a);//这里要传入a的地址
    
    4.以上步骤GPIO就配置完成了,下面可以赋值
    //设置PB5为低电平
    GPIO_ResetBits(GPIOB,GPIO_Pin_5);
    //设置PB5为高电平
    GPIO_SetBits(GPIOB,GPIO_Pin_5);
    
    */
    //实例:点亮红色LED,把PB5设置为低电平
    RCC_APB2PeriphClockCmd(
    RCC_APB2Periph_GPIOB,ENABLE);
    GPIO_InitTypeDef a;
    a.GPIO_Pin = GPIO_Pin_5;
    a.GPIO_Speed = GPIO_Speed_50MHz; 
    a.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOB,&a);
    GPIO_ResetBits(GPIOB,GPIO_Pin_5);
    
    //按键接到PA0引脚,按键按下灯亮,松开熄灭
    while(1){
    //读取引脚的电平
    int i = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);
    if(i == 1){
    //按键按下了
    GPIO_ResetBits(GPIOB,GPIO_Pin_5);
    }else{
    //按键松开
    GPIO_SetBits(GPIOB,GPIO_Pin_5);
    } 
    }
    
    //按键实现每按一次灯的电平状态翻转
    int pre = 0;//上一次循环按键的电平
    while(1){ 
    //读取引脚的电平
    int states = GPIO_ReadInputDataBit(
    GPIOA,GPIO_Pin_0);
    if(states == 0 && pre == 1){
    //按键刚松开那一刻,states马上变为0,但是
    //上一次循环中给pre赋的值还是1
    if(GPIO_ReadInputDataBit(
    GPIOB,GPIO_Pin_5) == 0){
    GPIO_SetBits(GPIOB,GPIO_Pin_5);
    }else{
    GPIO_ResetBits(GPIOB,GPIO_Pin_5);
    }
    }
    pre = states;//把本次循环按键的电平赋值给上一次
    }
  • 相关阅读:
    CRF++条件随机场
    list 函数
    转:Java Map 排序定义
    C#统计文本单词个数2
    转:求多边形的面积 算法几何
    C#统计单词词频
    C#动态数组ArrayList
    转:java写一个方法实现统计一条英文语句忠每个单词的个数
    C#统计文本单词的个数
    统计文本单词个数,并个数大小按序排列 C#
  • 原文地址:https://www.cnblogs.com/pei942664/p/7698042.html
Copyright © 2011-2022 走看看