各位经验丰富的大佬们你们好
现在我有一个问题,就是我写STM32中,把收到的字符串塞进了数组里,然后我要使用这个数组中的其中一位。
我在中断函数中写的数据塞入数组。
void USART1_IRQHandler(void){
u8 USART_Rx=0;
u8 USART_BUF[6];//就是这个数组,在这儿定义过了,要求我在主函数再定义一次
u8 Res;
u8 DATA_SOUCE;
#if SYSTEM_SUPPORT_OS //èç1ûSYSTEM_SUPPORT_OSÎaÕæ£¬ÔòDèòaÖ§3ÖOS.
OSIntEnter();
#endif
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET){
USART_ClearITPendingBit(USART1,USART_IT_RXNE)
Res =USART_ReceiveData(USART1);
USART_SendData(USART1, Res);
USART_BUF[USART_Rx]=USART_ReceiveData(USART1);
USART_Rx++;
USART_Rx&=0xFF;
在主函数中写数组的第几位。
int main(void){
u16 t;
// u16 ch;
double ch;
double aimtemp;
u8 DATA_SOUCE;
u8 USART_BUF[6];
u16 times=0;
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2)
uart_init(9600);
LED_Init();
while (1)
{
ch=(USART_BUF[2]-'0')*10+(USART_BUF[3]-'0')*1+(USART_BUF[5]-'0')*0.1;
都是失败的。
疑问,第一是不是我没有塞进数组?
第二,是不是这个数组在两个函数里写,即使名字一样,也不是同一个数组。如果真的不是同一个数组,我该怎么建立联系呢?
|