标题:
关于STM32接受数据进入数组之后的使用问题
[打印本页]
作者:
Branca_Wu1996
时间:
2019-3-23 16:46
标题:
关于STM32接受数据进入数组之后的使用问题
各位经验丰富的大佬们你们好
现在我有一个问题,就是我写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;
都是失败的。
疑问,第一是不是我没有塞进数组?
第二,是不是这个数组在两个函数里写,即使名字一样,也不是同一个数组。如果真的不是同一个数组,我该怎么建立联系呢?
作者:
飞云居士
时间:
2019-3-25 19:25
这个数组都是局部变量( u8 USART_BUF[6];//就是这个数组,在这儿定义过了,要求我在主函数再定义一次)。把它放在程序开始的地方说明,即可在所有函数中使用。局部变量只能在当前函数内有效。退出当前函数,其变量即释放。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1