Pin.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #define __PIN_DEF
  2. #include"User.h"
  3. #define STU PORTGbits.RG9
  4. #define IN1 PORTFbits.RF13
  5. #define IN2 PORTFbits.RF12
  6. void Pin_Init(){
  7. ANSELA = 0;
  8. ANSELB = 0;
  9. ANSELC = 0;
  10. ANSELD = 0;
  11. ANSELE = 0;
  12. ANSELG = 0;
  13. TRISGbits.TRISG9=0;
  14. PORTGbits.RG9=0;
  15. TRISFbits.TRISF4 = 0;
  16. TRISFbits.TRISF5 = 1;
  17. TRISDbits.TRISD15 = 0;
  18. TRISDbits.TRISD14 = 1;
  19. TRISBbits.TRISB14 = 0;
  20. TRISBbits.TRISB15 = 1;
  21. TRISBbits.TRISB1 = 0;
  22. TRISBbits.TRISB0 = 1;
  23. TRISDbits.TRISD1 = 0;
  24. TRISDbits.TRISD6 = 1;
  25. TRISBbits.TRISB7 = 0;
  26. TRISBbits.TRISB12 = 1;
  27. // RPINR18bits.U1RXR = 17;//上电默认PC使用
  28. // _RP10R = 3; //上电默认PC使用
  29. RPINR18bits.U1RXR = 48; //上电默认屏幕使用
  30. _RP1R = 3; //上电默认屏幕使用
  31. RPINR19bits.U2RXR= 43;
  32. RPINR17bits.U3RXR = 29;
  33. /*启用串口4,双串口控制*/
  34. // RPINR27bits.U4RXR = 48;
  35. // _RP1R = 24;
  36. RPINR27bits.U4RXR = 17;
  37. _RP10R = 24;
  38. _RP5R = 5;
  39. _RP14R = 22 ;
  40. TRISFbits.TRISF13 = 1;
  41. TRISFbits.TRISF12 = 1;
  42. TRISBbits.TRISB8 = 0;
  43. TRISBbits.TRISB9 = 0;
  44. }
  45. void SetIO(unsigned int uc_CH,unsigned char state){
  46. switch(uc_CH){
  47. case 1 : STU = state;break;
  48. default:
  49. break;
  50. }
  51. }
  52. unsigned int Get_IO(unsigned char uc_CH)//获取IO口输出状态
  53. {
  54. unsigned char state;
  55. switch(uc_CH){
  56. case 1 : state = IN1;break;//
  57. case 2 : state = IN2;break;//
  58. }
  59. return state;
  60. }