zoukankan      html  css  js  c++  java
  • 常用的stm32库函数

    //初始化的方式:先定义初始化机构体、再打开时钟使能、在对每一组GPIO口进行初始化。  
      GPIO_InitTypeDef LED_GPIO; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB
    |RCC_APB2Periph_GPIOD, ENABLE); //ʹÄÜPB,PD¶Ë¿ÚʱÖÓ LED_GPIO.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6; //Ö¸¶¨Òý½Å PD3,4,5,6 LED_GPIO.GPIO_Mode = GPIO_Mode_Out_PP; //ÍÆÍìÊä³ö LED_GPIO.GPIO_Speed = GPIO_Speed_50MHz; //IO¿ÚËÙ¶ÈΪ50MHz GPIO_Init(GPIOD, &LED_GPIO); //¸ù¾ÝÉ趨²ÎÊý³õʼ»¯ //---------- PB8 ---------------------------- LED_GPIO.GPIO_Pin = GPIO_Pin_8; //Ö¸¶¨Òý½Å PB8 LED_GPIO.GPIO_Mode = GPIO_Mode_Out_PP; //ÍÆÍìÊä³ö LED_GPIO.GPIO_Speed = GPIO_Speed_50MHz; //IO¿ÚËÙ¶ÈΪ50MHz GPIO_Init(GPIOB, &LED_GPIO); //¸ù¾ÝÉ趨²ÎÊý³õʼ»¯
    • 点亮某个灯的代码
            GPIO_SetBits(GPIOD, GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6);
            GPIO_SetBits(GPIOB,GPIO_Pin_8);

    或者用宏定义

    #define LED_light(x) ( GPIOD_BSRR |= 0x0001<<x )
    #define LED_Close(x) ( GPIOD_BRR |= 0x0001<<x )
    #define LED_ALL_light ( GPIO_ODR |= 0x0078 )
    #define LED_ALL_close ( GPIO_ODR &= 0xff87 )
    •  在数码管上显示对应的数字的代码
    //单个来看:在PE8对应的数码管上显示数字0的代码
    case 1: { GPIOE->BSRR |= 0x0001<<8; //将PE8端口置高电平
                  GPIOE->BRR |= 0x3e00;//将其他的PE9,10,11都置为地电平
                  GPIOE->BRR |= 0x00ff; //将数码管对应的8段都置为0
                  GPIOE->BSRR |= Nixie_x[data]; //按数组里面的设置显示对应的字符
                   break;}
                            
        void Nixietube_light(u8 num, u8 data)
        {
    
            switch(num)
            {                            //       第几位                                                                                                                       数字0-9
                    case 1: { GPIOE->BSRR |= 0x0001<<8; GPIOE->BRR |= 0x3e00; GPIOE->BRR |= 0x00ff; GPIOE->BSRR |= Nixie_x[data];  break;}
                    case 2: { GPIOE->BSRR |= 0x0001<<9; GPIOE->BRR |= 0x3d00; GPIOE->BRR |= 0x00ff;GPIOE->BSRR |= Nixie_x[data];  break;}
                    case 3: { GPIOE->BSRR |= 0x0001<<10; GPIOE->BRR |= 0x3b00; GPIOE->BRR |= 0x00ff;GPIOE->BSRR |= Nixie_x[data];  break;}
                    case 4: { GPIOE->BSRR |= 0x0001<<11; GPIOE->BRR |= 0x3700; GPIOE->BRR |= 0x00ff;GPIOE->BSRR |= Nixie_x[data];  break;}
                    case 5: { GPIOE->BSRR |= 0x0001<<12; GPIOE->BRR |= 0x2f00; GPIOE->BRR |= 0x00ff;GPIOE->BSRR |= Nixie_x[data];  break;}
                    case 6: { GPIOE->BSRR |= 0x0001<<13; GPIOE->BRR |= 0x1f00; GPIOE->BRR |= 0x00ff;GPIOE->BSRR |= Nixie_x[data];  break;}
                
                  default: break;
            }
            
        }
  • 相关阅读:
    Datasource Server returns invalid timezone问题
    springboot之异常处理
    maven的安装配置
    Javajdk的安装
    jdbc连接mysql数据库 (idea)
    关于MySQL数据库的卸载
    python3.6.8的安装及初步使用
    计算机基础及编程语言的简单了解
    git、码云的使用
    粘滞位权限
  • 原文地址:https://www.cnblogs.com/dadidelearning/p/10018257.html
Copyright © 2011-2022 走看看