|
各位經(jīng)驗(yàn)豐富的大佬們你們好
現(xiàn)在我有一個(gè)問(wèn)題,就是我寫(xiě)STM32中,把收到的字符串塞進(jìn)了數(shù)組里,然后我要使用這個(gè)數(shù)組中的其中一位。
我在中斷函數(shù)中寫(xiě)的數(shù)據(jù)塞入數(shù)組。
void USART1_IRQHandler(void){
u8 USART_Rx=0;
u8 USART_BUF[6];//就是這個(gè)數(shù)組,在這兒定義過(guò)了,要求我在主函數(shù)再定義一次
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;
在主函數(shù)中寫(xiě)數(shù)組的第幾位。
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;
都是失敗的。
疑問(wèn),第一是不是我沒(méi)有塞進(jìn)數(shù)組?
第二,是不是這個(gè)數(shù)組在兩個(gè)函數(shù)里寫(xiě),即使名字一樣,也不是同一個(gè)數(shù)組。如果真的不是同一個(gè)數(shù)組,我該怎么建立聯(lián)系呢?
|
|