[demo程序] F100,登登等灯,凳灯等灯,来个跑马灯

[复制链接]
 楼主| arm86 发表于 2018-4-26 15:53 | 显示全部楼层 |阅读模式
基于 GPIO_demo.uvprojx 工程的 GPIO_demo.c 文件。开发板上的 D2,D3,D4 都是 Red-LED。

拷贝粘贴,与稍微改动,即可完成。

  1. /**********************************************************************
  2. *
  3. * 实验名称:GPIO端口输出配置实验
  4. * 实验平台:NV32开发板
  5. * 板载芯片:NV32F100FL64E
  6. * 实验效果:配置GPIO端口为输出引脚,切换端口数据输出点亮LED
  7. *
  8. ************************************************************************/

  9. #include "common.h"
  10. #include "ics.h"
  11. #include "rtc.h"
  12. #include "uart.h"
  13. #include "gpio.h"
  14. #include "sysinit.h"
  15. #include "start.h"

  16. int main (void);
  17. void RTC_Task(void);

  18. volatile uint32_t led_flag;

  19. /********************************************************************/
  20. int main (void)
  21. {
  22.     /*系统初始化*/
  23.     sysinit();
  24.     cpu_identify();

  25.     RTC_ConfigType  sRTCConfig;
  26.     RTC_ConfigType  *pRTCConfig = &sRTCConfig;  

  27.     printf("\nRunning the GPIO_demo project.\n");

  28.     led_flag = 0;

  29.     /* 配置RTC模块每隔1s产生一次中断*/
  30.     pRTCConfig->u16ModuloValue = 9;                                      
  31.     pRTCConfig->bInterruptEn   = RTC_INTERRUPT_ENABLE;     /* 使能中断*/
  32.     pRTCConfig->bClockSource   = RTC_CLKSRC_1KHZ;          /*选择1KHz时钟源*/
  33.     pRTCConfig->bClockPresaler = RTC_CLK_PRESCALER_100;    /*时钟分频系数100*/
  34.    
  35.     RTC_SetCallback(RTC_Task);
  36.     RTC_Init(pRTCConfig);

  37.     /*初始化 PE7, PH1, PH2 为输出引脚--通过32位引脚掩码确定要初始化的引脚 */
  38.     GPIO_Init(GPIOB, GPIO_PTE7_MASK, GPIO_PinOutput);
  39.     GPIO_Init(GPIOB, GPIO_PTH1_MASK, GPIO_PinOutput);
  40.     GPIO_Init(GPIOB, GPIO_PTH2_MASK, GPIO_PinOutput);
  41.     /*初始化PE7为输出引脚--通过定义的GPIO引脚名确定要初始化的引脚*/
  42.     /* GPIO_PinInit(GPIO_PTE7, GPIO_PinOutput); */
  43.     GPIO_PinSet(GPIO_PTE7);     /* 置位,灯灭 */
  44.     GPIO_PinSet(GPIO_PTH1);
  45.     GPIO_PinSet(GPIO_PTH2);

  46.     while (1);
  47. }

  48. /*****************************************************************************//*!
  49. *
  50. * [url=home.php?mod=space&uid=247401]@brief[/url] RTC回调函数
  51. *        
  52. * @param  none
  53. *
  54. * [url=home.php?mod=space&uid=266161]@return[/url] none
  55. *
  56. *****************************************************************************/

  57. void RTC_Task(void)
  58. {
  59.     led_flag++;
  60.     /* 切换PE7输出,闪亮LED1 */
  61.     /* 方法1.切换PE7端口数据输出————通过32位引脚掩码确定要切换输出的引脚 */
  62.     if(1==(led_flag%3)) {
  63.         GPIO_Toggle(GPIOB, GPIO_PTE7_MASK);
  64.         GPIO_PinSet(GPIO_PTH1);
  65.         GPIO_PinSet(GPIO_PTH2);
  66.     }
  67.     if(2==(led_flag%3)) {
  68.         GPIO_Toggle(GPIOB, GPIO_PTH1_MASK);
  69.         GPIO_PinSet(GPIO_PTE7);
  70.         GPIO_PinSet(GPIO_PTH2);
  71.     }
  72.     if(0==(led_flag%3)) {
  73.         GPIO_Toggle(GPIOB, GPIO_PTH2_MASK);
  74.         GPIO_PinSet(GPIO_PTE7);
  75.         GPIO_PinSet(GPIO_PTH1);
  76.     }
  77.    
  78.     /* 方法2.切换PE7端口数据输出----通过定义的GPIO引脚名确定要切换输出的引脚 */
  79.     /* GPIO_PinToggle(GPIO_PTE7); */
  80. }
  81. /********************************************************************/





 楼主| arm86 发表于 2018-4-26 16:07 | 显示全部楼层
本帖最后由 arm86 于 2018-4-26 16:09 编辑

对齐个打印信息还得烧录几次才调整好
  1. --System Log BEGINS--

  2. Familly ID = 0x0, Sub-family ID = 0x2, Revision ID = 0x0, Pin ID = 0x7

  3. SWD Reset

  4. --System Log ENDS--

  5. Running the GPIO_demo project.
  6. --System Log BEGINS--

  7. Familly ID = 0x0, Sub-family ID = 0x2, Revision ID = 0x0, Pin ID = 0x7

  8. Pin Reset

  9. --System Log ENDS--

  10. Running the GPIO_demo project.



 楼主| arm86 发表于 2018-4-26 17:04 | 显示全部楼层
NV32F101FL64,引脚与 F100 兼容。
Navota_03.png
123ycli 发表于 2018-5-19 10:14 | 显示全部楼层
arm86 发表于 2018-4-26 17:04
NV32F101FL64,引脚与 F100 兼容。

完全兼容吗?只是主频提高了?
HKingS 发表于 2018-5-19 15:58 | 显示全部楼层
void RTC_Task(void)这个是中断函数吗?
余三水 发表于 2018-5-29 09:28 | 显示全部楼层
这个printf是串口还是stlink输出的呢?
 楼主| arm86 发表于 2018-5-30 08:02 | 显示全部楼层
余三水 发表于 2018-5-29 09:28
这个printf是串口还是stlink输出的呢?

串口
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

745

帖子

5

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

36

主题

745

帖子

5

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