0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【南京中科微CSM32RV20开发板试用体验】无调试器迈出第一步,建立工程,点亮一个LED

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-12-01 10:38 次阅读

本文来源电子发烧友社区,作者:xcs101, 帖子地址:https://bbs.elecfans.com/jishu_2243648_1_1.html


点亮一个LED效果(开发板体验视频,详见作者原文链接内容)

本帖最后由 xcs101 于 2022-2-16 11:53 编辑
今天入门南京中科微CSM32RV20开发板,讲讲如何开展设计,迈出第一步,建立工程,点亮LED,做个记录,方便后面学习,与大家共同探讨。

一、需要用到的外设
1、一个IO口
查看电路图,开发板上有一个RGBLED灯,使用其中一个引脚PA8,对应蓝灯。
GPIO 是用户可配置的通用 IO,每一个 GPIO 口都可以独立配置成输入输出、外设复用功能或模拟功能。GPIOA0~15 对应 PA0~PA15,GPIOB0~13 对应PB0~PB13。

二、工程建立
根据该链接建立一个空白的工程
https://mp.weixin.qq.com/s/El8-GMhWRSGGQWrMXCVcBA
首先安装软件,设置为中文;
pYYBAGHplXSAM9S0ABKzyyoVUVs194.gif

新建一个工程:
poYBAGHplmGARqOzABRk24uh9rU417.gif
]
三、程序设计
1.使用到的函数



  1. void GPIO_MODE_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_MODEx) //GPIO 模式
复制代码

GPIO_MODEx可设置为:输入模式、输出模式、复用模式和模拟模式
pYYBAGHpmCOAELSxAAByGrgwhb4934.png
poYBAGHpmDKANReKAAB3zBSOP5c365.png
poYBAGHpmDqAMjaLAAGB2TZufBc879.png
pYYBAGHpmECAPMtaAAGi4QBcOVg889.png

GPIO模拟配置原理图


  1. #define GPIO_MODE_INPUT 0x00000000UL
  2. #define GPIO_MODE_OUTPUT 0x00000001UL
  3. #define GPIO_MODE_AF 0x00000002UL
  4. #define GPIO_MODE_ANALOG 0x00000003UL
  5. void GPIO_Toggle(GPIO_TypeDef *GPIOx,uint8_t PINx);//GPIO 翻转
复制代码


2.GPIO其他函数


  1. void GPIO_MODE_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_MODEx); //GPIO 模式
  2. void GPIO_OutType_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_OTYPEx); //GPIO 输出模式
  3. void GPIO_InType_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_ITYPEx); //GPIO 输入模式
  4. void GPIO_PULL_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_PULLx); //GPIO 上拉
  5. void GPIO_OutSpeed_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_SPEEDx); //GPIO 压摆率
  6. void GPIO_AF_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_AFx); //GPIO 复用模式
  7. void GPIO_EXIT_MODE_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_EXIT_MODEx); //GPIO 中断模式
  8. void GPIO_INTER_enable(GPIO_TypeDef *GPIOx,uint8_t PINx); //GPIO 中断使能
  9. void GPIO_INTER_disable(GPIO_TypeDef *GPIOx,uint8_t PINx); //GPIO 中断关闭
  10. void GPIO_Write(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_PinState); //GPIO 输出
  11. uint8_t GPIO_Read(GPIO_TypeDef *GPIOx,uint8_t PINx); //GPIO 读输入
  12. void GPIO_Toggle(GPIO_TypeDef *GPIOx,uint8_t PINx);//GPIO 翻转
  13. void GPIO_EXIT_Init_case1(GPIO_TypeDef *GPIOx, uint8_t PINx); //检测高电平
  14. void GPIO_EXIT_Init_case2(GPIO_TypeDef *GPIOx, uint8_t PINx); //检测低电平
  15. void GPIO_EXIT_Init_case3(GPIO_TypeDef *GPIOx, uint8_t PINx); //检测上升沿
  16. void GPIO_EXIT_Init_case4(GPIO_TypeDef *GPIOx, uint8_t PINx); //检测下降沿
  17. void EXIT0_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  18. void EXIT1_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  19. void EXIT2_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  20. void EXIT3_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  21. void EXIT4_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  22. void EXIT9_5_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  23. void EXIT15_10_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
  24. void CAW_IRQhandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));//载波检测中断函数
  25. void CAW_Init(void);//载波检测配置
复制代码


3.修改DEMO里的程序
查看建立的模板程序,在里面找到Chapter 5 GPIO Test Init的代码段,将第一句修改如下,设置PA8引脚的GPIO模式



  1. ///----Chapter 5 GPIO Test Init-----------------------------------------
  2. GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT); //GPIO 模式
复制代码


修改PA8引脚电平翻转程序,实现100ms电平翻转


  1. for(uint8_t i=0;i<10;i++)
  2. {
  3. GPIO_Toggle(GPIOA,PIN8); //GPIO 翻转
  4. Delay32M_ms(100);
  5. }
复制代码


修改主程序里while循环电平翻转程序,实现500ms电平翻转


  1. while(1)
  2. {
  3. Delay32M_ms(500);
  4. GPIO_Toggle(GPIOA,PIN8);
  5. }
复制代码


按下Ctrl+F9,完成程序编译完成的程序在工程文件的default文件夹里的elf文件。

四、烧录程序
poYBAGHnqDCAEbhAAAFfF3zbv3c558.png

使用CSM-ISP烧录程序, 同样在这条链接里面就可以找到相关介绍:https://mp.weixin.qq.com/s/El8-GMhWRSGGQWrMXCVcBA

五、总结
本次建立工程,很是顺利,代码风格跟STM32的HAL库比较像,上手很快,后续再对其他外设进行使用,完成项目设计。



出厂程序效果(开发板体验视频,详见作者原文链接内容)



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IO
    IO
    +关注

    关注

    0

    文章

    448

    浏览量

    39203
  • 开发板
    +关注

    关注

    25

    文章

    5081

    浏览量

    97692
  • 调试器
    +关注

    关注

    1

    文章

    305

    浏览量

    23769
  • 南京中科微
    +关注

    关注

    0

    文章

    60

    浏览量

    782
  • CSM32RV20
    +关注

    关注

    0

    文章

    40

    浏览量

    230
收藏 人收藏

    评论

    相关推荐

    【敏矽ME32G070开发板免费体验】开箱+点灯+点亮OLED

    了 官方也提供了很多示例工程供参考,觉得麻烦可以直接拷贝工程修改下就能开发需要的功能了 由于是 ARM 内核,可以使用 J-LINK、D
    发表于 12-19 00:25

    【敏矽ME32G070开发板免费体验】+ADC测试与LED点亮

    ,还必须设置魔术棒,如图所示: 由图可见可以识别仿真开发板,编译下载,进入在线调试界面; 可以看到工程启动了8通道的ADC转换,结
    发表于 12-16 19:00

    【敏矽ME32G070开发板免费体验】\\+Lora通信终端产品开发项目

    需求评估产品性能。 .开发板申请之路—听我娓娓道来 2024年11月19日早,电子发烧友论坛信公众号发文,标题为《新品体验!敏矽ME32G070
    发表于 12-15 18:26

    RISC-V 使用J-Link调试RV-STAR

    J-Link调试器RV-STAR开发板,且在Nuclei Studio中运行和调试应用程序。 关于Nuclei Studio IDE下载安装、编译和
    发表于 12-14 17:47

    【敏矽ME32G070开发板免费体验】介绍、环境搭建、工程测试

    【敏矽ME32G070开发板免费体验】介绍、环境搭建、工程测试 敏矽微电子有限公司 是家以安徽为总部的,面向全球的芯片设计公司,致力于成为全球领先的微处理
    发表于 12-12 14:29

    追加名额丨米尔瑞芯RK3576开发板有奖试用

    米尔与瑞芯合作发布的新品基于瑞芯RK3576应用处理的MYD-LR3576开发板免费试用活动加码啦~~米尔追加了2块价值849元的MY
    的头像 发表于 11-22 01:00 212次阅读
    追加名额丨米尔瑞芯<b class='flag-5'>微</b>RK3576<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    常用在工业控制系统上的MCU芯片资料:CSM32RV20

    CSM32RV20款基于RISC-V核的低功耗MCU芯片。 内置RISC-V RV32IMAC内核(2.6CoreMark/MHz); 蕞高32MHz工作频率; 内置4kB的SRAM; 内置8B
    的头像 发表于 11-15 17:19 256次阅读
    常用在工业控制系统上的MCU芯片资料:<b class='flag-5'>CSM32RV20</b>

    有奖丨米尔 瑞芯RK3576开发板免费试用

    米尔与瑞芯合作发布的新品基于瑞芯RK3576应用处理的MYD-LR3576开发板免费试用活动来啦~~米尔提供了7块价值849元的MYD
    的头像 发表于 11-12 01:00 350次阅读
    有奖丨米尔 瑞芯<b class='flag-5'>微</b>RK3576<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>

    【RA-Eco-RA0E1-32PIN-V1.0开发板试用】使用 RASC 建立 Keil 工程、烧录测试

    【RA-Eco-RA0E1-32PIN-V1.0开发板试用】使用 RASC 建立 Keil 工程、烧录测试 使用瑞萨官网提供的 RASC 即智能配置工具软件,生成 Keil
    发表于 11-09 12:52

    郭光灿院士:迈出中国量子计算“软实力”第一步

    ,是中国量子计算“软实力”迈出第一步。量子计算是国际前沿科技,也是中国未来产业之。当前,中国量子计算科技“硬实力”已居全球第一方阵,中国是世界上第三
    的头像 发表于 09-12 08:07 258次阅读
    郭光灿院士:<b class='flag-5'>迈出</b>中国量子计算“软实力”<b class='flag-5'>第一步</b>

    【RA-Eco-RA0E1-32PIN-V1.0开发板试用】配置开发环境和编写点灯程序

    开发板搭载芯片RA系列,其余可直接不选 再下一步这里可以直接勾选扩展语言包,如果什么都不选默认是英文,目前有日文、简体中文、繁体中文可供选择,下图勾选的为简体中文语言包,除了语言
    发表于 08-25 01:16

    散热第一步是导热

    一步提高产品的使用寿命。 产品型号有多种规格可选择(导热系数1.0~5.0W/m.K)。 合肥傲琪电子的导热硅脂、导热硅胶片还应用于对芯片、主板、功率管(MOS)、变压、模块、PCB、铝基板
    发表于 08-06 08:52

    [文章] 【xG24 Matter开发套件试用体验】点亮LED

    Matter LED开发套件、Matter 兼容的智能家居控制中心(如 HomePod mini、Google Nest Hub)。 对比设备: 51单片机开发板、配套的LED
    发表于 07-26 15:12

    开发板调试器跟miniwiggler是性质吗?

    开发板调试器跟miniwiggler是性质吗?电路样吗?FT2232里面是否有程序,还是只是
    发表于 02-06 07:03

    在ModuStoolBox环境之外开发应用程序时应该考虑哪些因素?

    我正在迈出CY8CPROTO-063-BLE平台的第一步,并希望在ModusToolbox生态系统之外创建自己的引导代码。 对开发板进行编程后,我尝试调试这个小启动代码。 但是,CM0
    发表于 01-25 06:38