io_app.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. #ifndef __IO_APP_H__
  2. #define __IO_APP_H__
  3. #include "typedefine.h"
  4. extern byte_bits_t io_inputs[];
  5. extern byte_bits_t io_inputs_old[];
  6. extern byte_bits_t io_outputs[];
  7. extern byte_bits_t io_outputsen;
  8. #define X00 io_inputs[0].bits.b0
  9. #define X01 io_inputs[0].bits.b1
  10. #define X02 io_inputs[0].bits.b2
  11. #define X03 io_inputs[0].bits.b3
  12. #define X04 io_inputs[0].bits.b4
  13. #define X05 io_inputs[0].bits.b5
  14. #define X06 io_inputs[0].bits.b6
  15. #define X07 io_inputs[0].bits.b7
  16. #define X10 io_inputs[1].bits.b0
  17. #define X11 io_inputs[1].bits.b1
  18. #define X12 io_inputs[1].bits.b2
  19. #define X13 io_inputs[1].bits.b3
  20. #define X14 io_inputs[1].bits.b4
  21. #define X15 io_inputs[1].bits.b5
  22. #define X16 io_inputs[1].bits.b6
  23. #define X17 io_inputs[1].bits.b7
  24. #define X20 io_inputs[2].bits.b0
  25. #define X21 io_inputs[2].bits.b1
  26. #define X22 io_inputs[2].bits.b2
  27. #define X23 io_inputs[2].bits.b3
  28. #define X24 io_inputs[2].bits.b4
  29. #define X25 io_inputs[2].bits.b5
  30. #define X26 io_inputs[2].bits.b6
  31. #define X27 io_inputs[2].bits.b7
  32. #define X30 io_inputs[3].bits.b0
  33. #define X31 io_inputs[3].bits.b1
  34. #define X32 io_inputs[3].bits.b2
  35. #define X33 io_inputs[3].bits.b3
  36. #define X34 io_inputs[3].bits.b4
  37. #define X35 io_inputs[3].bits.b5
  38. #define X36 io_inputs[3].bits.b6
  39. #define X37 io_inputs[3].bits.b7
  40. #define OLDX00 io_inputs_old[0].bits.b0
  41. #define OLDX01 io_inputs_old[0].bits.b1
  42. #define OLDX02 io_inputs_old[0].bits.b2
  43. #define OLDX03 io_inputs_old[0].bits.b3
  44. #define OLDX04 io_inputs_old[0].bits.b4
  45. #define OLDX05 io_inputs_old[0].bits.b5
  46. #define OLDX06 io_inputs_old[0].bits.b6
  47. #define OLDX07 io_inputs_old[0].bits.b7
  48. #define OLDX10 io_inputs_old[1].bits.b0
  49. #define OLDX11 io_inputs_old[1].bits.b1
  50. #define OLDX12 io_inputs_old[1].bits.b2
  51. #define OLDX13 io_inputs_old[1].bits.b3
  52. #define OLDX14 io_inputs_old[1].bits.b4
  53. #define OLDX15 io_inputs_old[1].bits.b5
  54. #define OLDX16 io_inputs_old[1].bits.b6
  55. #define OLDX17 io_inputs_old[1].bits.b7
  56. #define OLDX20 io_inputs_old[2].bits.b0
  57. #define OLDX21 io_inputs_old[2].bits.b1
  58. #define OLDX22 io_inputs_old[2].bits.b2
  59. #define OLDX23 io_inputs_old[2].bits.b3
  60. #define OLDX24 io_inputs_old[2].bits.b4
  61. #define OLDX25 io_inputs_old[2].bits.b5
  62. #define OLDX26 io_inputs_old[2].bits.b6
  63. #define OLDX27 io_inputs_old[2].bits.b7
  64. #define OLDX30 io_inputs_old[3].bits.b0
  65. #define OLDX31 io_inputs_old[3].bits.b1
  66. #define OLDX32 io_inputs_old[3].bits.b2
  67. #define OLDX33 io_inputs_old[3].bits.b3
  68. #define OLDX34 io_inputs_old[3].bits.b4
  69. #define OLDX35 io_inputs_old[3].bits.b5
  70. #define OLDX36 io_inputs_old[3].bits.b6
  71. #define OLDX37 io_inputs_old[3].bits.b7
  72. #define Y00 io_outputs[0].bits.b0
  73. #define Y01 io_outputs[0].bits.b1
  74. #define Y02 io_outputs[0].bits.b2
  75. #define Y03 io_outputs[0].bits.b3
  76. #define Y04 io_outputs[0].bits.b4
  77. #define Y05 io_outputs[0].bits.b5
  78. #define Y06 io_outputs[0].bits.b6
  79. #define Y07 io_outputs[0].bits.b7
  80. #define Y10 io_outputs[1].bits.b0
  81. #define Y11 io_outputs[1].bits.b1
  82. #define Y12 io_outputs[1].bits.b2
  83. #define Y13 io_outputs[1].bits.b3
  84. #define Y14 io_outputs[1].bits.b4
  85. #define Y15 io_outputs[1].bits.b5
  86. #define Y16 io_outputs[1].bits.b6
  87. #define Y17 io_outputs[1].bits.b7
  88. #define Y20 io_outputs[2].bits.b0
  89. #define Y21 io_outputs[2].bits.b1
  90. #define Y22 io_outputs[2].bits.b2
  91. #define Y23 io_outputs[2].bits.b3
  92. #define Y24 io_outputs[2].bits.b4
  93. #define Y25 io_outputs[2].bits.b5
  94. #define Y26 io_outputs[2].bits.b6
  95. #define Y27 io_outputs[2].bits.b7
  96. #define bSoftwareInputEnable M0158 //软件输入,如果开启,输入信号将由M0160开始的数据代替
  97. #define bSoftwareOutputEnable M0159 //软件输出,如果开启,输出将禁止
  98. void io_app_read_input(void);
  99. void io_app_write_ouput(void);
  100. void io_app_init(void);
  101. void io_app_run(void);
  102. void io_app_close_output(char step);
  103. #endif