单片机解密FT32单片机+0.96OLED显示
单片机解密单片机源程序如下:
- 单片机解密#include "main.h"
- 单片机解密#include "FT32f0xx.h"
- 单片机解密#include "FT32f0xx_gpio.h"
- 单片机解密#include "FT32f0xx_syscfg.h"
- #include "FT32f0xx_rcc.h"
- #include "FT32f0xx_iwdg.h"
- #include "core_cm0.h"
- #include "delay.h"
- #include "timer.h"
- #include "gpio.h"
- #include "exti.h"
- #include "uart.h"
- #include "pwm.h"
- #include "ad.h"
- #include "IIC.h"
- #include "SPI.h"
- #include "OLEDDriver.h"
- #include "OLEDDraw.h"
- #include "stdio.h"
- #include "string.h"
- #include "OLED_TIME.h"
- #include "OLED_TIMEString.h"
- #include "pul.h"
- #include "OLED.h"
- /* Private functions ---------------------------------------------------------*/
- /**
- * @brief Main program.
- * @param None
- * @retval None
- */
- //独立看门狗
- //prescaler---0~0x06--IWDG_Prescaler_x---x=4,8,16,32,64,128,256
- //reload---0~0x0FFF
- //reset time=reload*prescaler/40KHZ(ms)
- void iwdg_init(uint8_t prescaler,uint16_t reload)
- {
- //LSI 40KHZ for IWDG
- RCC_LSICmd(ENABLE);
-
- //write KR=0x5555---enable write PR or RLR
- IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
- //write PR
- IWDG_SetPrescaler(prescaler);
- //write RLR 0~0x0FFF
- IWDG_SetReload(reload);
-
- //reload write KR 0xAAAA
- IWDG_ReloadCounter();
-
- //enable IWDG write KR 0xCCCC
- IWDG_Enable();
- }
- //uint8_t Flag = 0;
- //uint16_t Count = 0;
- uint8_t gAddMode = 0;
- //uint8_t gCountTrisFlag = 0;
- Cube Adress1,Adress2;
- uint8_t AdressX,AdressY;
- uint8_t AdressX2,AdressY2;
- int main(void)
- {
- SYSCFG_DeInit();
- SystemInit();//48MHZ
-
- RCC_HCLKConfig(RCC_SYSCLK_Div1);//AHB clock 48MHZ APBH1CLK = PLLCLOCK * 1 = 48MHZ * 1 = 48MHZ
- //APB分频为1时 timerx时钟时APB时钟 否则timerx时钟是APB时钟的2倍频
- RCC_PCLKConfig(RCC_HCLK_Div1);//APB clock 48MHZ
-
- //以HCLK作时钟源48MHZ
- //48000000/1000---1ms
- //48000000/100000---10us
- //48000000/1000000---1us
- while(SysTick_Config(48000000/100000)){}
- Time6Init(124,0);
- SET_GPIO_Out_PP(GPIOC,GPIO_Pin_13);
- SET_GPIO_Out_PP(GPIOC,GPIO_Pin_14);
-
- SET_GPIO_Out_PP(GPIOB,GPIO_Pin_13);
- SET_GPIO_Out_PP(GPIOA,GPIO_Pin_5);
-
- GPIO_ResetBits(GPIOB,GPIO_Pin_13);
- GPIO_ResetBits(GPIOA,GPIO_Pin_5);
-
- SET_GPIO_Out_PP(GPIOA,GPIO_Pin_2);
- GPIO_ResetBits(GPIOA,GPIO_Pin_2);
- SPI1_INIT(GPIOA,GPIO_Pin_4,GPIOA, GPIO_Pin_5,GPIOA, GPIO_Pin_6,GPIOA, GPIO_Pin_7);
- OLED_Init();
-
- memset(BMP1,0x00,sizeof(BMP1));
- DrawPic(BMP1[0]);
- AdressX = 0;
- AdressY = 16;
- AdressX2 = 67-32;
- AdressY2 = 63-32;
- while (1)

芯片解密