芯片破解基于stm32的spwm输出程序 支持三相
- 芯片破解#include "led.h"
- 芯片破解#include "delay.h"
- 芯片破解#include "sys.h"
- 芯片破解#include "usart.h"
- 芯片破解#include "SPWM.h"
- 芯片破解#include "stdio.h"
- char displayhc[20];
- int k=0;
- void my_delay_ms(int i)
- {
- for(;i>0;i--)
- {
- for(k=0;k<8000;k++)
- {
- __nop();
- }
- }
- }
- void Key_GPIO_Config(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
- GPIO_Init(GPIOC, &GPIO_InitStructure);
- }
- uint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
- {
- if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == 1 )
- {
- // while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == 0);
- return 1;
- }
- else
- return 0;
- }
- #include "oled.h"
- extern float pin_lv;
- uint8_t key1=1,key2=1,key3=1,key4=1;
- int key1_flag=0,key2_flag=0,key3_flag=0,key4_flag=2;
- void check_key(void)
- {
- // key1=Key_Scan(GPIOC,GPIO_Pin_10);
- key4=Key_Scan(GPIOC,GPIO_Pin_7);
- if(key4==0){my_delay_ms(30);key4=Key_Scan(GPIOC,GPIO_Pin_7);if(key4==0)key4_flag--;if(key4_flag<0)key4_flag=5;}
- while(key4==0)key4=Key_Scan(GPIOC,GPIO_Pin_7);
-
-
-
-
- if(Key_Scan(GPIOC,GPIO_Pin_8)==0){my_delay_ms(30);if(Key_Scan(GPIOC,GPIO_Pin_8)==0)
- {
- if(key4_flag==0)pin_lv=pin_lv+1.0;