原创 GPIO程序

2022-8-3 18:40 225 0 分类: FPGA/CPLD 文集: 2022
  1. #include "DSP28_Device.h"
  2. #include "DSP28_Globalprototypes.h"
  3. // Prototype statements for functions found within this file.
  4. // interrupt void ISRTimer2(void);
  5. void delay_loop(void);
  6. void Gpio_select(void);
  7. unsigned int var1 = 0;
  8. unsigned int var2 = 0;
  9. unsigned int var3 = 0;
  10. unsigned int var4 = 0;
  11. unsigned int var5 = 0;
  12. void main(void)
  13. {
  14. int ii=0;
  15. int i;
  16. InitSysCtrl();
  17. // Disable and clear all CPU interrupts:
  18. DINT;
  19. IER = 0x0000;
  20. IFR = 0x0000;
  21. // Initialize Pie Control Registers To Default State:
  22. InitPieCtrl();
  23. InitPieVectTable();
  24. InitGpio();
  25. // Run GPIO test
  26. var1 = 0x0000; // sets GPIO Muxs as I/Os
  27. var2 = 0xFFFF; // sets GPIO DIR as outputs
  28. var3 = 0x0000; // sets the Input qualifier values
  29. // Gpio_select();
  30. // Toggle I/Os using DATA register for ever
  31. while(1)
  32. {
  33. /*
  34. GpioDataRegs.GPADAT.all = 0x000A;
  35. for(ii = 0; ii < 100; ii++)
  36. {
  37. delay_loop();
  38. }
  39. GpioDataRegs.GPADAT.all = 0x0005;
  40. delay_loop();
  41. for(ii = 0; ii < 100; ii++)
  42. {
  43. delay_loop();
  44. }
  45. */
  46. for(i = 0; i < 4; i++)
  47. {
  48. GpioDataRegs.GPADAT.all = 0x08 >> i;
  49. for(ii = 0; ii < 50; ii++)
  50. {
  51. delay_loop();
  52. }
  53. GpioDataRegs.GPACLEAR.all = 0x08 >> i;
  54. for(ii = 0; ii < 10; ii++)
  55. {
  56. //delay_loop();
  57. }
  58. }
  59. }
  60. }
  61. void delay_loop()
  62. {
  63. short i;
  64. for (i = 0; i < 5000; i++) {}
  65. }
  66. void Gpio_select(void)
  67. {
  68. EALLOW;
  69. GpioMuxRegs.GPAMUX.all=var1;
  70. // GpioMuxRegs.GPBMUX.all=var1;
  71. GpioMuxRegs.GPADIR.all=var2; // GPIO PORTs as output
  72. // GpioMuxRegs.GPBDIR.all=var2; // GPIO DIR select GPIOs as output
  73. GpioMuxRegs.GPAQUAL.all=var3; // Set GPIO input qualifier values
  74. // GpioMuxRegs.GPBQUAL.all=var3;
  75. EDIS;
  76. }

文章评论0条评论)

登录后参与讨论
相关推荐阅读
curton 2022-08-18 19:22
思考:自律与晶振的关系
自律,出自《左传·哀公十六年》,指在没有人现场监督的情况下,通过自己要求自己,变被动为主动,自觉地遵循法度,拿它来约束自己的一言一行。指不受外界约束和情感支配,据自己善良意志按自己颁布的道德规律而行事...
curton 2022-08-08 17:56
重庆、武汉发放首批自动驾驶全无人商业运营牌照
今天上热搜的一个新闻这个是好消息为什么这么说呢。因为武汉,桥多,路况复杂,重庆,山多,路况复杂。能运行起无人车,这个是一个技术上有很多的突破的,否则这么复杂的路况,谁敢上路啊。反观我家门前的无人车测试...
curton 2022-08-05 09:38
天然砂 和 芯片 的关系
看到好多人在说天然砂影响芯片。我分析了下后发现,天然砂是在大自然中天然形成的河砂和海砂。这些主要是用在建筑行业。最近发生的事情,我个人观点只会影响建筑行业,不会影响芯片制造。但是有人说了,制作芯片是需...
curton 2022-02-24 20:13
如何判断PLC使用接近开关是PNP还是NPN?
用PNP还是NPN型接近开关,前提是理清PLC数字量输入电路形式。PLC数字量输入电路可分直流输入电路和交流输入电路,而题目说的这种问题主要是在PLC数字量输入电路的直流输入电路中。PLC的数字量输入...
curton 2022-02-24 19:52
Wye-Delta Motor Starters
A wye-delta (Y-Δ or Y-D) motor starter is designed to start the motor with its windings in a wye con...
我要评论
0
0
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条