当前位置:   article > 正文

DSP_CCS实现变量的实时曲线显示_ccs怎么实时显示变量曲线

ccs怎么实时显示变量曲线

代码

注意:我们的曲线画的是y

1、用DSP自带的延时函数的写法

  1. #include <main.h>
  2. float y[100];
  3. float t = 0.0;
  4. void main(void)
  5. {
  6. int i;
  7. while(1){
  8. t = t + 0.05;
  9. if(t > 100) t = 0;
  10. for(i = 1; i < 100; i++){
  11. y[i-1] = y[i];
  12. }
  13. y[99] = 10 * sin(2 * 3.1415926 * 2 * t);
  14. DELAY_US(50000); // 20Hz
  15. }
  16. }

2、定时器的写法 (大项目肯定选择这种写法)

  1. float y[100];
  2. float t = 0.0;
  3. #define SYS_BASIC_FREQUENCY 2000
  4. #define CNT1HZ 2000
  5. #define CNT2HZ 1000
  6. #define CNT20HZ 100
  7. #define CNT40HZ 50
  8. #define CNT50HZ 40
  9. #define CNT100HZ 20
  10. #define CNT200HZ 10
  11. #define CNT250HZ 8
  12. #define CNT500HZ 4
  13. #define CNT1000HZ 2
  14. #define CNT2000HZ 1
  15. int16 iFreqCnt = 0;
  16. int16 iFreq1Hz = 0;
  17. int16 iFreq2Hz = 0;
  18. int16 iFreq20Hz = 0;
  19. int16 iFreq40Hz = 0;
  20. int16 iFreq50Hz = 0;
  21. int16 iFreq100Hz = 0;
  22. int16 iFreq200Hz = 0;
  23. int16 iFreq250Hz = 0;
  24. int16 iFreq500Hz = 0;
  25. int16 iFreq1000Hz = 0;
  26. int16 iFreq2000Hz = 0;
  27. int16 iFreq2500Hz = 0;
  28. int16 iFreq5000Hz = 0;
  29. void main(void){
  30. InitSysCtrl();
  31. DINT;
  32. InitPieCtrl();
  33. InitGpio();
  34. IER = 0x0000;
  35. IFR = 0x0000;
  36. InitPieVectTable();
  37. InitCpuTimers(); // Initialize CPU Timers
  38. // CPU Timer0
  39. ConfigCpuTimer(&CpuTimer0, 200, 1000000/SYS_BASIC_FREQUENCY);
  40. CpuTimer0Regs.TCR.bit.TIE = 1; // 1: The CPU-Timer interrupt is enabled
  41. // TIMER0 INT1.7 [Page102: Table 3-2.PIE Channel Mapping]
  42. EALLOW;
  43. PieVectTable.TIMER0_INT = &CpuTimer0ISR; // Specify the interrupt service routine
  44. EDIS;
  45. IER |= M_INT1; // Enable CPU Level interrupt
  46. PieCtrlRegs.PIEIER1.bit.INTx7 = 1; // Enable PIE Level interrupt
  47. PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
  48. EINT; // 使能全局中断
  49. ERTM; // 使能实时仿真中断
  50. CpuTimer0Regs.TCR.bit.TSS = 0; // 使能CPUTimer0
  51. }
  52. interrupt void CpuTimer0ISR(void){
  53. int i;
  54. DivideFreq();
  55. if(iFreq20Hz){
  56. t = t + 0.05;
  57. if(t > 100) t = 0;
  58. for(i = 1; i < 100; i++){
  59. y[i-1] = y[i];
  60. }
  61. y[99] = 10 * sin(2 * 3.1415926 * 0.5 * t);
  62. }
  63. PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
  64. }
  65. // Generate frequency division signal
  66. void DivideFreq(void){
  67. if(iFreqCnt >= CNT1HZ){
  68. iFreq1Hz = 1;
  69. iFreqCnt = 0;
  70. }else{
  71. iFreq1Hz = 0;
  72. }
  73. if((iFreqCnt%CNT2HZ)==0){
  74. iFreq2Hz = 1;
  75. }else{
  76. iFreq2Hz = 0;
  77. }
  78. if((iFreqCnt%CNT20HZ)==0){
  79. iFreq20Hz = 1;
  80. }else{
  81. iFreq20Hz = 0;
  82. }
  83. if((iFreqCnt%CNT40HZ)==0){
  84. iFreq40Hz = 1;
  85. }else{
  86. iFreq40Hz = 0;
  87. }
  88. if((iFreqCnt%CNT50HZ)==0){
  89. iFreq50Hz = 1;
  90. }else{
  91. iFreq50Hz = 0;
  92. }
  93. if((iFreqCnt%CNT100HZ)==0){
  94. iFreq100Hz = 1;
  95. }else{
  96. iFreq100Hz = 0;
  97. }
  98. if((iFreqCnt%CNT200HZ)==0){
  99. iFreq200Hz = 1;
  100. }else{
  101. iFreq200Hz = 0;
  102. }
  103. if((iFreqCnt%CNT250HZ)==0){
  104. iFreq250Hz = 1;
  105. }else{
  106. iFreq250Hz = 0;
  107. }
  108. if((iFreqCnt%CNT500HZ)==0){
  109. iFreq500Hz = 1;
  110. }else{
  111. iFreq500Hz = 0;
  112. }
  113. if((iFreqCnt%CNT1000HZ)==0){
  114. iFreq1000Hz = 1;
  115. }else{
  116. iFreq1000Hz = 0;
  117. }
  118. if((iFreqCnt%CNT2000HZ)==0){
  119. iFreq2000Hz = 1;
  120. }else{
  121. iFreq2000Hz = 0;
  122. }
  123. /*
  124. if((iFreqCnt%CNT2500HZ)==0){
  125. iFreq2500Hz = 1;
  126. }else{
  127. iFreq2500Hz = 0;
  128. }
  129. if((iFreqCnt%CNT5000HZ)==0){
  130. iFreq5000Hz = 1;
  131. }else{
  132. iFreq5000Hz = 0;
  133. }
  134. */
  135. iFreqCnt++;
  136. }

CCS配置

运行仿真之后, 选择Tools->Graph->Singel Time

92060f1bcb9a4935af254f61f8195a21.jpeg

对属性进行以下配置 

 0625550bc1d54757b2aff0efe5c9b05e.png

 

视频

按照以上代码及配置之后的运行结果如下视频所示

DSP实时曲线显示

 

CCS支持的刷新速度实在是太慢了,20Hz凑合用吧。

感谢您的阅读,欢迎留言讨论、收藏、点赞、分享

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/277839?site
推荐阅读
相关标签
  

闽ICP备14008679号