E5_CommuHdVPC3.c
上传用户:hualang
上传日期:2022-04-11
资源大小:104k
文件大小:2k
开发平台:

C/C++

  1. ///////////////////////////////////////////////////////////////
  2. // 文 件 名 : E5_CommuHdVPC3.h
  3. // 文件功能 : vpc3硬件提供给应用程序接口
  4. // 作    者 : 
  5. // 创建时间 : 
  6. // 项目名称 : LPC3
  7. // 操作系统 : 
  8. // 备    注 :
  9. // 历史记录 : 
  10. //
  11. //
  12. ///////////////////////////////////////////////////////////////
  13. #include "....includeLmcInc.h"
  14. #include "....includeDSP2833x_Device.h"               //General Purpose I/O Registers
  15. #include "....includehdDriver.h"
  16. #include "E5_Commu_PtlProfibus.h"
  17. void ResetVPC3_0(void)
  18. {
  19. EALLOW;
  20. GpioCtrlRegs.GPBPUD.bit.GPIO58 = 0;    // Enable pull-up for GPIO58 
  21. GpioCtrlRegs.GPBMUX2.bit.GPIO58 = 0;   // Configure GPIO58 for GPIO
  22. GpioCtrlRegs.GPBDIR.bit.GPIO58 =1;     //Configure GPIO58 for OUTPUT
  23. EDIS;
  24. GpioDataRegs.GPBCLEAR.bit.GPIO58=1;
  25. hd_DelayNS(200);
  26. GpioDataRegs.GPBSET.bit.GPIO58=1;
  27. hd_DelayNS(200);
  28. GpioDataRegs.GPBCLEAR.bit.GPIO58=1;
  29. }
  30. int hd_VPC3_0_Initial(uint8 addr)
  31. {
  32. return InitVPC3(0, addr);
  33. }
  34. //空函数,只是为了防止出现越界操作
  35. void  PROFI_NETA_RxEnable (void)    {;}
  36. void  PROFI_NETA_TxEnable (void)    {;}
  37. uint8 PROFI_NETA_IsTx(void)         {return TRUE;}
  38. void  PROFI_NETB_RxEnable (void)    {;}
  39. void  PROFI_NETB_TxEnable (void)    {;}
  40. uint8 PROFI_NETB_IsTx(void)         {return TRUE;}
  41. //允许Net A 中断
  42. void PROFI_NETA_IntEnable(void){}
  43. //允许Net B 中断
  44. void PROFI_NETB_IntEnable(void){}
  45. //禁止NET A中断
  46. void PROFI_NETA_IntDisable(void){}
  47. //禁止NET B中断
  48. void PROFI_NETB_IntDisable(void){}
  49. //复位Profibus A口
  50. void PROFI_NETA_Reset(void){}
  51. //复位Profibus B口
  52. void PROFI_NETB_Reset(void){}
  53. //初始化A网
  54. uint8  hd_PROFI_NETA_Init(uint8 addr)
  55. {
  56. InitProfibusRam(0);
  57. if(hd_VPC3_0_Initial(addr))
  58. {
  59. g_ProfibusRam.bInitSuccess = TRUE;
  60. return TRUE;
  61. }
  62. g_ProfibusRam.bInitSuccess = FALSE;
  63. return FALSE;
  64. }
  65. //初始化B网
  66. uint8  hd_PROFI_NETB_Init(uint8 addr, uint8 bFast)
  67. {
  68. return FALSE;
  69. }
  70. //A网发送数据出去
  71. uint16 PROFI_NETA_Send(uint8* pData, uint16 uLen)
  72. {
  73. return 0;
  74. }
  75. //B网发送数据出去
  76. uint16 PROFI_NETB_Send(uint8* pData, uint16 uLen)
  77. {
  78. return 0;
  79. }