老板界的IT精英 2023-09-26 15:49 采纳率: 0%
浏览 6

关于#单片机#的问题

一开始安装的keil5是可以写STM32代码的,今天想让他也兼容以下C51,按照网上的方法设置完以后,keil图标就变白了,试了一下不影响运行,但是看着好难受啊,有啥方法复原原先的图标吗?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-26 18:06
    关注

    【相关推荐】



    • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7760027
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:使keil5同时支持STM32与C51
    • 您还可以看一下 Abel小智老师的嵌入式开发系统学习路线 从基础到项目 精品教程 工程师必备课程 物联网课程中的 STM32如何使用定时器?小节, 巩固相关知识点
    • 除此之外, 这篇博客: 毕业论文 | 基于STM32的双轮平衡小车设计(基于Keil5的完整注释版代码工程,原器件清单)中的 部分代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      MPU6050

      /**************************************************************************
      º¯Êý¹¦ÄÜ£ºMPU6050ÄÚÖÃDMPµÄ³õʼ»¯
      Èë¿Ú²ÎÊý£ºÎÞ
      ·µ»Ø  Öµ£ºÎÞ
      ×÷    Õߣº
      **************************************************************************/
      void DMP_Init(void)
      { 
         u8 temp[1]={0};
         i2cRead(0x68,0x75,1,temp);
      	 Flag_Show=1;
      	 printf("mpu_set_sensor complete ......\r\n");
      	if(temp[0]!=0x68)NVIC_SystemReset();
      	if(!mpu_init())
        {
      	  if(!mpu_set_sensors(INV_XYZ_GYRO | INV_XYZ_ACCEL))
      	  	 printf("mpu_set_sensor complete ......\r\n");
      	  if(!mpu_configure_fifo(INV_XYZ_GYRO | INV_XYZ_ACCEL))
      	  	 printf("mpu_configure_fifo complete ......\r\n");
      	  if(!mpu_set_sample_rate(DEFAULT_MPU_HZ))
      	  	 printf("mpu_set_sample_rate complete ......\r\n");
      	  if(!dmp_load_motion_driver_firmware())
      	  	printf("dmp_load_motion_driver_firmware complete ......\r\n");
      	  if(!dmp_set_orientation(inv_orientation_matrix_to_scalar(gyro_orientation)))
      	  	 printf("dmp_set_orientation complete ......\r\n");
      	  if(!dmp_enable_feature(DMP_FEATURE_6X_LP_QUAT | DMP_FEATURE_TAP |
      	        DMP_FEATURE_ANDROID_ORIENT | DMP_FEATURE_SEND_RAW_ACCEL | DMP_FEATURE_SEND_CAL_GYRO |
      	        DMP_FEATURE_GYRO_CAL))
      	  	 printf("dmp_enable_feature complete ......\r\n");
      	  if(!dmp_set_fifo_rate(DEFAULT_MPU_HZ))
      	  	 printf("dmp_set_fifo_rate complete ......\r\n");
      	  run_self_test();
      	  if(!mpu_set_dmp_state(1))
      	  	 printf("mpu_set_dmp_state complete ......\r\n");
        }
      	Flag_Show=0;
      }
      /**************************************************************************
      º¯Êý¹¦ÄÜ£º¶ÁÈ¡MPU6050ÄÚÖÃDMPµÄ×Ë̬ÐÅÏ¢
      Èë¿Ú²ÎÊý£ºÎÞ
      ·µ»Ø  Öµ£ºÎÞ
      ×÷    Õߣº
      **************************************************************************/
      void Read_DMP(void)
      {	
      	  unsigned long sensor_timestamp;
      		unsigned char more;
      		long quat[4];
      
      				dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors, &more);		
      				if (sensors & INV_WXYZ_QUAT )
      				{    
      					 q0=quat[0] / q30;
      					 q1=quat[1] / q30;
      					 q2=quat[2] / q30;
      					 q3=quat[3] / q30;
      					 Pitch = asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3; 	
      					 Roll= atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 + 1)* 57.3; // roll
      				}
      
      }
      /**************************************************************************
      º¯Êý¹¦ÄÜ£º¶ÁÈ¡MPU6050ÄÚÖÃζȴ«¸ÐÆ÷Êý¾Ý
      Èë¿Ú²ÎÊý£ºÎÞ
      ·µ»Ø  Öµ£ºÉãÊÏζÈ
      ×÷    Õߣº
      **************************************************************************/
      int Read_Temperature(void)
      {	   
      	  float Temp;
      	  Temp=(I2C_ReadOneByte(devAddr,MPU6050_RA_TEMP_OUT_H)<<8)+I2C_ReadOneByte(devAddr,MPU6050_RA_TEMP_OUT_L);
      		if(Temp>32768) Temp-=65536;
      		Temp=(36.53+Temp/340)*10;
      	  return (int)Temp;
      }
      

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 9月26日

悬赏问题

  • ¥15 在不同的执行界面调用同一个页面
  • ¥20 基于51单片机的数字频率计
  • ¥50 M3T长焦相机如何标定以及正射影像拼接问题
  • ¥15 keepalived的虚拟VIP地址 ping -s 发包测试,只能通过1472字节以下的数据包(相关搜索:静态路由)
  • ¥20 关于#stm32#的问题:STM32串口发送问题,偶校验(even),发送5A 41 FB 20.烧录程序后发现串口助手读到的是5A 41 7B A0
  • ¥15 C++map释放不掉
  • ¥15 Mabatis查询数据
  • ¥15 想知道lingo目标函数中求和公式上标是变量情况如何求解
  • ¥15 关于E22-400T22S的LORA模块的通信问题
  • ¥15 求用二阶有源低通滤波将3khz方波转为正弦波的电路