
static u8 *JudgeStr(u16 waittime) { char *data; u8 str[8]; str[0]=0xef; str[1]=0x01; str[2]=AS608Addr>>24; str[3]=AS608Addr>>16; str[4]=AS608Addr>>8; str[5]=AS608Addr; str[6]=0x07; str[7]='\0'; USART3_RX_FLAG=0; while(--waittime) { //Delay_ms(1); if(USART3_RX_FLAG & 0X8000)//接收到一次数据 { USART3_RX_FLAG=0; data=strstr((const char*)USART3_RX_BUF,(const char*)str); if(data) return (u8*)data; } } return 0; } 这段代码是在编写AS608指纹模块的判断中断接收的数组有没有应答包的函数,但是程序一直在卡在这 while(--waittime) { //Delay_ms(1); if(USART3_RX_FLAG&0X8000) 后面的程序不会运行这是怎么回事,求大佬看看 |
STM32的低功耗模式
STM32F103C8T6 TIM1 CH2输入捕获触发DMA的问题
四轴飞行器
不清楚为什么正点原子的例程,想添加SCB添加到watch1却是无效的(在core_cm3.h定义的寄存器都不可以),但是可以添加GPIOA并且有效(stm32f10x.h定义的寄存器都可以)
不知道为什么用正点原子的开源例程硬件仿真时。想观察寄存器的值,所以添加到watch1观察,不清楚为啥SCB,NVTC等都添加了但是无效,但是GPIOA却又可以。
STM32的上电启动过程
STM32中如何实现数据加密
I2C从模式编程之STOP中断
STM32的I2S外设
为何Tim2自动装载定时的首次中断时间总是设定时间的2倍?
while (waittime ) {
// Delay_ms(1); // 如果需要延时,可以取消注释
if (USART3_RX_FLAG & 0X8000)
{ // 接收到一次数据
USART3_RX_FLAG = 0;
data = strstr((const char*)USART3_RX_BUF, (const char*)str);
if (data) return (u8*)data;
}
waittime--;
}
return NULL; // 若未找到匹配的数据,返回NULL
另外,你要注意USART3_RX_BUF接收的字符串应该是以\0结尾的。