本文来源电子发烧友社区,作者:xcs101, 帖子地址:https://bbs.elecfans.com/jishu_2243648_1_1.html
点亮一个LED效果(开发板体验视频,详见作者原文链接内容)
今天入门南京中科微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
首先安装软件,设置为中文;
新建一个工程:
]
三、程序设计
1.使用到的函数
复制代码
GPIO_MODEx可设置为:输入模式、输出模式、复用模式和模拟模式
GPIO模拟配置原理图
复制代码
2.GPIO其他函数
复制代码
3.修改DEMO里的程序
查看建立的模板程序,在里面找到Chapter 5 GPIO Test Init的代码段,将第一句修改如下,设置PA8引脚的GPIO模式
复制代码
修改PA8引脚电平翻转程序,实现100ms电平翻转
复制代码
修改主程序里while循环电平翻转程序,实现500ms电平翻转
复制代码
按下Ctrl+F9,完成程序编译完成的程序在工程文件的default文件夹里的elf文件。
四、烧录程序
使用CSM-ISP烧录程序, 同样在这条链接里面就可以找到相关介绍:https://mp.weixin.qq.com/s/El8-GMhWRSGGQWrMXCVcBA
五、总结
本次建立工程,很是顺利,代码风格跟STM32的HAL库比较像,上手很快,后续再对其他外设进行使用,完成项目设计。
三、程序设计
1.使用到的函数
- void GPIO_MODE_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_MODEx) //GPIO 模式
GPIO_MODEx可设置为:输入模式、输出模式、复用模式和模拟模式
GPIO模拟配置原理图
- #define GPIO_MODE_INPUT 0x00000000UL
- #define GPIO_MODE_OUTPUT 0x00000001UL
- #define GPIO_MODE_AF 0x00000002UL
- #define GPIO_MODE_ANALOG 0x00000003UL
- void GPIO_Toggle(GPIO_TypeDef *GPIOx,uint8_t PINx);//GPIO 翻转
2.GPIO其他函数
- void GPIO_MODE_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_MODEx); //GPIO 模式
- void GPIO_OutType_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_OTYPEx); //GPIO 输出模式
- void GPIO_InType_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_ITYPEx); //GPIO 输入模式
- void GPIO_PULL_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_PULLx); //GPIO 上拉
- void GPIO_OutSpeed_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_SPEEDx); //GPIO 压摆率
- void GPIO_AF_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_AFx); //GPIO 复用模式
- void GPIO_EXIT_MODE_Init(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_EXIT_MODEx); //GPIO 中断模式
- void GPIO_INTER_enable(GPIO_TypeDef *GPIOx,uint8_t PINx); //GPIO 中断使能
- void GPIO_INTER_disable(GPIO_TypeDef *GPIOx,uint8_t PINx); //GPIO 中断关闭
- void GPIO_Write(GPIO_TypeDef *GPIOx,uint8_t PINx,uint32_t GPIO_PinState); //GPIO 输出
- uint8_t GPIO_Read(GPIO_TypeDef *GPIOx,uint8_t PINx); //GPIO 读输入
- void GPIO_Toggle(GPIO_TypeDef *GPIOx,uint8_t PINx);//GPIO 翻转
- void GPIO_EXIT_Init_case1(GPIO_TypeDef *GPIOx, uint8_t PINx); //检测高电平
- void GPIO_EXIT_Init_case2(GPIO_TypeDef *GPIOx, uint8_t PINx); //检测低电平
- void GPIO_EXIT_Init_case3(GPIO_TypeDef *GPIOx, uint8_t PINx); //检测上升沿
- void GPIO_EXIT_Init_case4(GPIO_TypeDef *GPIOx, uint8_t PINx); //检测下降沿
- void EXIT0_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
- void EXIT1_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
- void EXIT2_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
- void EXIT3_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
- void EXIT4_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
- void EXIT9_5_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
- void EXIT15_10_IRQHandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));
- void CAW_IRQhandler(void) __attribute__((interrupt("SiFive-CLIC-preemptible")));//载波检测中断函数
- void CAW_Init(void);//载波检测配置
3.修改DEMO里的程序
查看建立的模板程序,在里面找到Chapter 5 GPIO Test Init的代码段,将第一句修改如下,设置PA8引脚的GPIO模式
- ///----Chapter 5 GPIO Test Init-----------------------------------------
- GPIO_MODE_Init(GPIOA,PIN8,GPIO_MODE_OUTPUT); //GPIO 模式
修改PA8引脚电平翻转程序,实现100ms电平翻转
- for(uint8_t i=0;i<10;i++)
- {
- GPIO_Toggle(GPIOA,PIN8); //GPIO 翻转
- Delay32M_ms(100);
- }
修改主程序里while循环电平翻转程序,实现500ms电平翻转
- while(1)
- {
- Delay32M_ms(500);
- GPIO_Toggle(GPIOA,PIN8);
- }
按下Ctrl+F9,完成程序编译完成的程序在工程文件的default文件夹里的elf文件。
四、烧录程序
使用CSM-ISP烧录程序, 同样在这条链接里面就可以找到相关介绍:https://mp.weixin.qq.com/s/El8-GMhWRSGGQWrMXCVcBA
五、总结
本次建立工程,很是顺利,代码风格跟STM32的HAL库比较像,上手很快,后续再对其他外设进行使用,完成项目设计。
出厂程序效果(开发板体验视频,详见作者原文链接内容)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
IO
+关注
关注
0文章
505浏览量
41899 -
开发板
+关注
关注
25文章
6122浏览量
113285 -
调试器
+关注
关注
1文章
325浏览量
24923 -
南京中科微
+关注
关注
0文章
60浏览量
1368 -
CSM32RV20
+关注
关注
0文章
40浏览量
459
发布评论请先 登录
相关推荐
热点推荐
求助,关于华为IoT-Studio下使用RV-STAR开发板下载程序问题求解
您好,今天刚拿到开发板,我想咨询一下RV-STAR 开发板下载程序的方式,第一个问题:
1、板载调试器
发表于 11-11 07:08
RVMCU课堂「2」: 手把手教你玩转RVSTAR—SEGGER Embedded Studio+蜂鸟调试器篇
本教程以板上按键控制点亮RV-STAR开发板上的LED为目标,从IDE的下载安装开始详细介绍了使用SEGGER Embedded Studi
发表于 10-31 08:29
RVMCU课堂「4」:手把手教你玩转RV STAR——Nuclei Studio+蜂鸟调试器篇
本教程以板上按键控制点亮RV-STAR开发板上的LED为目标,从IDE的下载安装开始详细介绍了使用Nuclei Studio+蜂鸟
发表于 10-31 08:06
RVMCU课堂「3」:手把手教你玩转RVSTAR—SEGGER Embedded Studio+JLink调试器篇
本教程以板上按键控制点亮RV-STAR开发板上的LED为目标,从IDE的下载安装开始详细介绍了使用SEGGER Embedded Studi
发表于 10-31 06:42
【RA4E2开发板评测】之开发环境配置和LED点亮验证
本帖最后由 科_3fe 于 2025-10-26 16:20 编辑
RA4E2开发板试用评测之开发环境配置和LED
发表于 10-26 15:28
【六岳微LY-F335开发板试用体验】基本接口/功能/开发环境及开发体验
LCD、按键、LED、传感器接口 ,适合多种应用场景。
配套有 SDK 和示例程序,方便快速上手。
二、上电与环境配置
上电后,开发板运行稳定,默认固件能正常点亮
发表于 09-26 14:43
【作品合集】中科昊芯Core_DSC280025C开发板测评
Core_DSC280025C开发板试用体验】+3.DSP基础外设调试(含源码)
作者:安安踢球球【中科昊芯Core_DSC280025C开发板
发表于 09-18 10:52
【作品合集】玄铁Banana Pi BPI-RV2开发板测评
测试
作者:chen000000009【Banana Pi BPI-RV2开发板试用体验】开箱+硬件介绍
【Banana Pi BPI-RV2开发板
发表于 09-17 10:58
【Banana Pi BPI-RV2开发板试用体验】开箱上电
BPI-RV2 RISC-V开源路由器之开箱上电
背景
现在刚好正在研究短距及网络相关的东东。
最近刚好有幸得到了一块香蕉派 BPI-RV2 RISC-V 开源路由
发表于 06-26 19:51
【微五科技CF5010RBT60开发板试用体验】+初品微五科技开发板
的调试器,而只是提供了一个JTAG 接口,故要进行下载调试,需使用厂家推荐的由Olimex 生产的 ARM-USB-TINY-H,见图6所示。
本想立刻购置
发表于 06-25 21:36
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
了
官方也提供了很多示例工程供参考,觉得麻烦可以直接拷贝一个工程修改下就能开发需要的功能了
由于是 ARM 内核,可以使用 J-LINK、D
发表于 12-19 00:25
【敏矽微ME32G070开发板免费体验】+ADC测试与LED点亮
,还必须设置魔术棒,如图所示:
由图可见可以识别仿真器和开发板,编译下载,进入在线调试界面;
可以看到工程启动了8个通道的ADC转换,结
发表于 12-16 19:00

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