找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 2414|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)代碼如何轉(zhuǎn)換成arm代碼?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
我用的是德飛萊 七星蟲(chóng)系列的stm32f103主板,型號(hào):尼莫M3S,想要連接心率傳感器,但是這款傳感器自帶的調(diào)試程序是51單片機(jī)的,想改成arm的程序。自帶程序中用51模擬了IIC接口,stm32主板自帶IIC接口,我現(xiàn)在要把原51代碼轉(zhuǎn)換成arm代碼,望各位指教!

單片機(jī)源程序如下:
  1. //-------------------------------------------------------------------------------------////程序名:          MAX30100測(cè)試程序                  
  2. //版本:            V1.0                        
  3. //功能:            測(cè)試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. //函數(shù):    delayms()
  24. //功能:    延時(shí)程序
  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. //函數(shù):    void iic_start();
  40. //功能:    I2C總線開(kāi)始
  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. //函數(shù):    void iic_stop();
  61. //功能:    I2C總線結(jié)束
  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
復(fù)制代碼








分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:123289 發(fā)表于 2019-6-5 08:38 | 只看該作者
1、接口定義部分:要重新按新的聯(lián)接方式定義
2、軟件程序部分:要按arm格式重做編譯,編譯不通過(guò)的部分作出修改,使之符合arm要求。
回復(fù)

使用道具 舉報(bào)

板凳
ID:150208 發(fā)表于 2019-6-5 18:59 | 只看該作者
沒(méi)有直接轉(zhuǎn)化的工具,得需要自己去移植
回復(fù)

使用道具 舉報(bào)

地板
ID:556218 發(fā)表于 2019-6-6 08:28 | 只看該作者
這個(gè)只能是移植了,二樓解釋的很準(zhǔn)確了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表