各位經驗豐富的大佬們你們好
現在我有一個問題,就是我寫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;
都是失敗的。
疑問,第一是不是我沒有塞進數組?
第二,是不是這個數組在兩個函數里寫,即使名字一樣,也不是同一個數組。如果真的不是同一個數組,我該怎么建立聯系呢?
|