[DemoCode下载] CM1003的GPIO操作,真简单

[复制链接]
831|4
 楼主| heisexingqisi 发表于 2025-5-21 13:27 | 显示全部楼层 |阅读模式
  1. /*---------------------------------------------------------------------------------------------------------*/
  2. /*                                                                                                         */
  3. /* SPDX-License-Identifier: Apache-2.0                                                                     */
  4. /* Copyright(c) 2024 Nuvoton Technology Corp. All rights reserved.                                         */
  5. /*                                                                                                         */
  6. /*---------------------------------------------------------------------------------------------------------*/
  7. #include "numicro_8051.h"


  8. //----------------------------------------------------------------------------------------------//
  9. void main (void)
  10. {
  11.     /* UART0 settting for printf function */
  12.     MODIFY_HIRC(HIRC_24);
  13.     Enable_UART0_VCOM_printf_24M_115200();
  14.     printf ("\n Test start ...");

  15.     ALL_GPIO_QUASI_MODE;
  16.     P12_PUSHPULL_MODE;
  17.     P13_INPUT_MODE;

  18.     while(1)
  19.     {
  20.       P0 = ~P0;
  21.       P1 = ~P1;
  22.       P30 ^= 1;
  23.       P1 |= SET_BIT2;
  24.       if (!(P1&SET_BIT3))
  25.       {
  26.         CALL_NOP;
  27.       }
  28.       Timer2_Delay(24000000,4,200,1000);

  29.       P1 &= CLR_BIT2;
  30.       if (P1&SET_BIT3)
  31.       {
  32.         CALL_NOP;
  33.       }
  34.       Timer2_Delay(24000000,4,200,1000);
  35.     }
  36. }

另外还支持三种编译器
83829682d6451aef94.png
快乐制造机 发表于 2025-5-22 14:12 | 显示全部楼层
代码看起来简洁明了,GPIO操作确实简单。不过,对于新手来说,注释部分可能需要更详细一些,比如每个函数的作用和参数说明。
幻想收藏家 发表于 2025-5-22 22:35 | 显示全部楼层
代码看起来简洁明了,GPIO的操作确实不难。不过,我注意到你使用了`CALL_NOP;`,这是做什么用的?
时光贩卖机 发表于 2025-5-23 09:27 | 显示全部楼层
代码看起来简洁明了,GPIO操作确实简单。不过,我注意到`P30 ^= 1;`这一行,P30是单个引脚操作,而`P0`和`P1`是整个端口操作,这种混合使用方式没问题吗?
时光贩卖机 发表于 2025-5-23 12:29 | 显示全部楼层
代码看起来简洁明了,GPIO操作确实不难。不过,我注意到你使用了`Timer2_Delay`函数,这个函数是自定义的吗?它的实现代码有吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

157

主题

2770

帖子

2

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