找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1901|回复: 3
收起左侧

51单片机代码如何转换成arm代码?

[复制链接]
ID:554002 发表于 2019-6-3 21:53 | 显示全部楼层 |阅读模式
我用的是德飞莱 七星虫系列的stm32f103主板,型号:尼莫M3S,想要连接心率传感器,但是这款传感器自带的调试程序是51单片机的,想改成arm的程序。自带程序中用51模拟了IIC接口,stm32主板自带IIC接口,我现在要把原51代码转换成arm代码,望各位指教! 0.jpg 1.jpg 2.jpg 3.jpg

单片机源程序如下:
  1. //-------------------------------------------------------------------------------------////程序名:          MAX30100测试程序                  
  2. //版本:            V1.0                        
  3. //功能:            测试MAX30100的ID及温度部分功能。
  4. //-------------------------------------------------------------------------------------//
  5. //RCWL-0530模块与51接口连接:
  6. // 1:VCC   --〉   1.8V-5.5V电源
  7. // 2:SCL   --〉   P3.5
  8. // 3:SDA   --〉   P3.7
  9. // 4:INT   --〉   NC
  10. // 5:IRD   --〉   NC
  11. // 6:RD    --〉   NC
  12. // 7:GND   --〉   地
  13. //-------------------------------------------------------------------------------------//
  14. # include <reg52.h>
  15. # include <stdio.h>
  16. # include <intrins.h>
  17. //定义IIC接口
  18. sbit IIC_SCL    =P3^5;     //IIC的SCL
  19. sbit IIC_SDA    =P3^7;     //IIC的SDA
  20. bit  IIC_ACK;              //IIC的ACK
  21. int  rda;                  //IIC读出
  22. //-------------------------------------------------------------------------------------//
  23. //函数:    delayms()
  24. //功能:    延时程序
  25. //-------------------------------------------------------------------------------------//
  26. void delayms(unsigned int ms)
  27. {
  28.         unsigned char i=100,j;
  29.         for(;ms;ms--)
  30.         {
  31.                 while(--i)
  32.                 {
  33.                         j=10;
  34.                         while(--j);
  35.                 }
  36.         }
  37. }
  38. //-------------------------------------------------------------------------------------//
  39. //函数:    void iic_start();
  40. //功能:    I2C总线开始
  41. //-------------------------------------------------------------------------------------//
  42. //   SCL   --- --- ___
  43. //   SDA   --- ___ ___
  44. void iic_start()
  45. {  
  46. IIC_SDA=1;
  47. _nop_();
  48. _nop_();
  49. IIC_SCL=1;         
  50. _nop_();
  51. _nop_();
  52. IIC_SDA=0;
  53. _nop_();
  54. _nop_();
  55. IIC_SCL=0;
  56. _nop_();
  57. _nop_();
  58. }
  59. //-------------------------------------------------------------------------------------//
  60. //函数:    void iic_stop();
  61. //功能:    I2C总线结束
  62. //需定义:
  63. //-------------------------------------------------------------------------------------//
  64. //   SCL   ___ --- ---
  65. //   SDA   ___ ___ ---
  66. void iic_stop()
  67. {  
  68. IIC_SCL=0;
  69. _nop_();
  70. _nop_();
  71. IIC_SDA=0;
  72. _nop_();
  73. _nop_();
  74. IIC_SCL=1;
  75. _nop_();
  76. _nop_();
  77. IIC
复制代码








回复

使用道具 举报

ID:123289 发表于 2019-6-5 08:38 | 显示全部楼层
1、接口定义部分:要重新按新的联接方式定义
2、软件程序部分:要按arm格式重做编译,编译不通过的部分作出修改,使之符合arm要求。
回复

使用道具 举报

ID:150208 发表于 2019-6-5 18:59 | 显示全部楼层
没有直接转化的工具,得需要自己去移植
回复

使用道具 举报

ID:556218 发表于 2019-6-6 08:28 | 显示全部楼层
这个只能是移植了,二楼解释的很准确了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表