[DemoCode下载] 【赛元95F】+2.gpio输出小练

[复制链接]
 楼主| xyz549040622 发表于 2020-4-1 15:57 | 显示全部楼层 |阅读模式
赛元第一个例程,GPIO输出小练
1.点亮一个呼吸灯,用作系统运行指示
2.采用阻塞延时
  1. #include "SC95F861x_C.h"

  2. /*---------------------------------------------------------------------
  3. // 宏定义
  4. ----------------------------------------------------------------------*/

  5. #define LED        P40

  6. /*---------------------------------------------------------------------
  7. // 函数申明
  8. ----------------------------------------------------------------------*/
  9. void ClockInit(void);
  10. void GpioInit(void);
  11. void delay_ms(unsigned int ms);




  12. /*---------------------------------------------------------------------
  13. // 函数: void main(void)
  14. // 描述: 主函数
  15. // 参数: non
  16. // 返回: none.
  17. // 版本: VER1.0
  18. // 日期:
  19. // 备注:
  20. ----------------------------------------------------------------------*/
  21. void main(void)
  22. {
  23.         ClockInit();
  24.         GpioInit();
  25.         while(1)
  26.         {
  27.                 LED = 1;
  28.                 delay_ms(1000);
  29.                 LED = 0;
  30.                 delay_ms(1000);               
  31.         }
  32. }

  33. /*---------------------------------------------------------------------
  34. // 函数: void ClockInit(void)
  35. // 描述: 时钟初始化
  36. // 参数: non
  37. // 返回: none.
  38. // 版本: VER1.0
  39. // 日期:
  40. // 备注:
  41. ----------------------------------------------------------------------*/
  42. void ClockInit(void)
  43. {
  44. //上电默认使用HRC32Mhz作为Fhrc,可以用编程软件进行配置分频输出为Fsys,也可以用程序进行配置,这里用编程软件配置,方便
  45. }

  46. /*---------------------------------------------------------------------
  47. // 函数: void ClockInit(void)
  48. // 描述: 时钟初始化
  49. // 参数: non
  50. // 返回: none.
  51. // 版本: VER1.0
  52. // 日期:
  53. // 备注:
  54. ----------------------------------------------------------------------*/
  55. void GpioInit(void)
  56. {       
  57.         //芯片为SC95F8617,则不用调用宏定义。
  58.         P4CON |= 0x01;  //设置P40为强推挽模式
  59.         P4PH  |= 0x01;        //P40上拉电阻打开
  60. }

  61. //========================================================================
  62. // 函数: void  delay_ms(unsigned int ms ms)
  63. // 描述: 延时函数。主频32M,使用STC软件生成
  64. // 参数: ms,要延时的ms数, 这里只支持1~65536ms.
  65. // 返回: none.
  66. // 版本: VER1.0
  67. // 日期:
  68. // 备注:
  69. //========================================================================
  70. void  delay_ms(unsigned int ms)//@32MHz
  71. {
  72.     unsigned char i,j;
  73.     unsigned int N;
  74.                 for(N = 0; N < ms;N++)
  75.                 {
  76.                         i = 32;
  77.                         j = 29;
  78.                         do
  79.                         {
  80.                                 while (--j);
  81.                         } while (--i);
  82.                 }
  83. }


 楼主| xyz549040622 发表于 2020-4-1 16:01 | 显示全部楼层
21ic小喇叭 发表于 2020-4-2 10:01 | 显示全部楼层
感谢分享,奖励您100家园币,家园币可以兑换礼品或抽奖,欢迎体验~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←

2841

主题

19330

帖子

110

粉丝
快速回复 在线客服 返回列表 返回顶部