STM32F103C+APP系列开发无线传输芯片破解
芯片破解单片机源程序如下:
main.c
芯片破解int main(void)
{
int i=0;
u8 timeout;
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
Usart1_Init(115200);
Usart2_Init(115200);
Delay_ms(500);
UsartPrintf(USART1,"IIC_GPIO_INIT\r\n");
IIC_GPIO_INIT();
Delay_us(500);
UsartPrintf(USART1,"OLED_Init\r\n");
OLED_Init();
OLED_Printf_EN(6,0,"MAX30102_GPIO");
MAX30102_GPIO();
OLED_Printf_EN(6,0,"Max30102_reset");
Max30102_reset();
MAX30102_Config();
UsartPrintf(USART1,"开始初始化ESP8266\r\n");
OLED_Printf_EN(6,0,"ESP8266.........");
ESP8266_Init();
UsartPrintf(USART1,"开始1\r\n");
LED_Init();
Led_flash();
while(OneNet_DevLink())
{
delay_ms(500);
}
UsartPrintf(USART1,"开始测量血氧\r\n");
for(i = 0;i <128;i++)
{
while(MAX30102_INTPin_Read()==0)
{
//读取FIFO
max30102_read_fifo();
}
}
UsartPrintf(USART1,"测量结束\r\n");
OLED_Printf_EN(6,0,"Ready.......");
while(1)
{
if(!key)
{
delay_ms(10);
if(!key)
{
while(!key);
while(1)
{
// OneNet_Publish(devPubTopic, PUB_BUF);
OLED_Printf_EN(6,0,"Waiting...");
ESP8266_Clear();
UsartPrintf(USART1,"进入主循环\r\n");
Delay_us(300);
if(++timeout >=50)
{
OLED_Printf_EN(6,0,"Dataing...");
blood_Loop();
UsartPrintf(USART1,"心率血氧测量完毕\r\n");
UsartPrintf(USART_DEBUG, "OneNet_SendData\r\n");
OneNet_SendData();
timeout=0;
ESP8266_Clear();
if((sp02 < 90||heart <= 60)&&(sp02 > 115||heart >= 120))
{
GPIO_SetBits(GPIOC,GPIO_Pin_13|GPIO_Pin_14| GPIO_Pin_15);
delay_ms(500);
GPIO_SetBits(GPIOC,GPIO_Pin_13|GPIO_Pin_14| GPIO_Pin_15);
delay_ms(500);
GPIO_ResetBits(GPIOA,GPIO_Pin_1);
delay_ms(500);
}
else
{
GPIO_SetBits(GPIOC,GPIO_Pin_14| GPIO_Pin_15);
GPIO_SetBits(GPIOA,GPIO_Pin_1);
delay_ms(500);
GPIO_ResetBits(GPIOC,GPIO_Pin_14| GPIO_Pin_15);
delay_ms(500);
}
if(!key)
{
if(!key)
{
while(!key);
break;
}
}
}
}
}

芯片解密