J_Y__34 2023-05-18 00:05 采纳率: 0%
浏览 37

stm32rct6例程报错

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

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-18 04:02
    关注
    • 这个问题的回答你可以参考下: 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);	
      	}	 
      
       }
      
      
      
    评论

报告相同问题?

问题事件

  • 创建了问题 5月18日

悬赏问题

  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
  • ¥15 大二软件工程基础大题
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
  • ¥15 matlab如何根据图片中的公式绘制e和v的曲线图
  • ¥15 我想用Python(Django)+Vue搭建一个用户登录界面,但是在运行npm run serve时报错了如何解决?
  • ¥15 QQ邮箱过期怎么恢复?
  • ¥15 登录他人的vue项目显示服务器错误
  • ¥15 (标签-android|关键词-app)
  • ¥60 如何批量获取json的url