stm32rct6例程报错

同样的代码在正点的例程上就能运行 在我自己建的工程就报错 按着那个步骤一步一步来的真的不知道问题在哪

img

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7625235
  • 这篇博客也不错, 你可以看下STM32F103RCT6配置浮空输入检测上升沿遇到中断误触发问题
  • 除此之外, 这篇博客: STM32通过8266连接机智云平台中的 代码已经移植差不多了,接下去我们开始修改代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    给gizwits_product.c最下方添加以下代码

    int32_t uartWrite(uint8_t *buf, uint32_t len)
    {
        uint32_t i = 0;
        
        if(NULL == buf)
        {
            return -1;
        }
    #ifdef PROTOCOL_DEBUG
        GIZWITS_LOG("MCU2WiFi[%4d:%4d]: ", gizGetTimerCount(), len);
    #endif
        
        for(i=0; i<len; i++)
        {
            //USART_SendData(UART, buf[i]);//STM32 test demo
            //实现串口发送函数,将buf[i]发送到模组
    		USART_SendData(USART3,buf[i]);
            while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕 
    #ifdef PROTOCOL_DEBUG
            GIZWITS_LOG("%02x ", buf[i]);
    #endif
            if(i >=2 && buf[i] == 0xFF)
            {
              //实现串口发送函数,将0x55发送到模组
    		   USART_SendData(USART3,0x55);
             while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕 
    #ifdef PROTOCOL_DEBUG
            GIZWITS_LOG("%02x ", 0x55);
    #endif
            }
        }
        
    #ifdef PROTOCOL_DEBUG
        GIZWITS_LOG("\n");
    #endif
        
        return len;
    }
    

    在这里插入图片描述
    main.c
    (根据需求略改)

    #include "sys.h"	
    #include "delay.h"	
    #include "led.h" 
    #include "beep.h" 
    #include "key.h"
    #include "usart.h"
    #include "timer.h"
    #include "usart3.h"
    #include "gizwits_product.h" 
     
    /* Óû§Çøµ±Ç°É豸״̬½á¹¹Ìå*/
    dataPoint_t currentDataPoint;
    
    void Gizwits_Init(void)
    {  
    	
    	TIM3_Int_Init(9,7199);//1MSϵͳ¶¨Ê±
        usart3_init(9600);//WIFI³õʼ»¯
    	memset((uint8_t*)&currentDataPoint, 0, sizeof(dataPoint_t));//É豸״̬½á¹¹Ìå³õʼ»¯
    	gizwitsInit();//»º³åÇø³õʼ»¯
    }
    
    
     int main(void)
     {
    	int key;
    	delay_init();	    	 //ÑÓʱº¯Êý³õʼ»¯	  
    	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //ÉèÖÃNVICÖжϷÖ×é2:2λÇÀÕ¼ÓÅÏȼ¶£¬2λÏìÓ¦ÓÅÏȼ¶
    	uart_init(115200);	    //´®¿Ú³õʼ»¯Îª115200
     	LED_Init();			    //LED¶Ë¿Ú³õʼ»¯
    	KEY_Init();             //°´¼ü³õʼ»¯ 
    	BEEP_Init();            //·äÃùÆ÷³õʼ»¯
        Gizwits_Init();         //ЭÒé³õʼ»¯
    	printf("--------»úÖÇÔÆIOT-¶à·¿ØÖÆÊµÑé----------\r\n");
    	printf("KEY1:AirLinkÁ¬½Óģʽ\t KEY_UP:¸´Î»\r\n\r\n");
       	while(1)
    	{
    	    userHandle();//Óû§²É¼¯
             
            gizwitsHandle((dataPoint_t *)&currentDataPoint);//ЭÒé´¦Àí
     		
    	    key = KEY_Scan(0);
    		if(key==KEY1_PRES)//KEY1°´¼ü
    		{
    			printf("WIFI½øÈëAirLinkÁ¬½Óģʽ\r\n");
    			gizwitsSetMode(WIFI_AIRLINK_MODE);//Air-linkģʽ½ÓÈë
    		}			
    		if(key==WKUP_PRES)//KEY_UP°´¼ü
    		{  
    			printf("WIFI¸´Î»£¬ÇëÖØÐÂÅäÖÃÁ¬½Ó\r\n");
    			gizwitsSetMode(WIFI_RESET_MODE);//WIFI¸´Î»
    		}		
    		delay_ms(200);	
    	}	 
    
     }
    
    
    

新手能理解,看文档慢慢来吧,在按文档走一遍吧,你先保证正点的工程编译通过,不报错,然后你在一般般按照正点的文档一般般来,你这个截图问题就是编译某个头文件没找到,工程的路径中没有包含,需要包含一下,具体你参考你移植的工程