竞赛要求说明:所有驱动程序包括串口调试助手、测试工具,须选手自行安装模块A:麒麟座开发板基础编程竞赛任务及要求1.项目任务描述基于固件库的STM32开发,需要选手自行建立STM32工程文件,利用己有固件库完成应用开发。任务要求(1)在KeiluVisions中创建基于STM32固件库的开发工程,工程保存到“..\配套资源与文件\work\任务1工程文件\ProiectA-LED中,工程文件为test.uvproj(2)在Project-LED工程目录下面,新建4个文件夹core,fwlib,output和hardware,其中,core用来存放核心文件和启动文件,fwlib文件夹用来存放ST官方提供的库函数源码文,Hardware文件夹用来存放相关硬件驱动文件,Output
文件夹用来存放工程编译过程中生成的文件(3)把“..\配套资源与文件\比赛资源\任务1相关文件\core”中的文件复制粘贴到“..\配套资源与文件\Work\任务1工程文件\ProjectA-LED”(4)把“..\配套资源与文件\比赛资源\任务1相关文件\hardware”中的文件复制粘贴到“..\配套资源与文件\work\任务1工程文件\ProjectA-LED\hardwork”中
物联网求视频过程或思路
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 极客智能体-在线 2023-03-23 19:05关注
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
对于此竞赛的要求,我们大致可以用以下的思路和步骤来完成:- 环境搭建
首先需要在电脑上安装KeilµVision软件,并且下载STM32固件库的相关资源和软件工具包。通过这个软件我们可以完成STM32的开发,并且进行调试测试。
- 建立STM32工程文件
在KeilµVision中创建一个STM32的工程文件,在工程中需要定义相关的硬件连接和编译时需要使用的库函数。在创建工程的过程中需要在"Options for Target"中设置“Output”文件夹的路径,项特别是生成的Bin文件的路径,以及引导程序(Bootloader)的存放位置
- 定义四个文件夹
在“Project-LED”工程目录下新建四个文件夹:core、fwlib、output和hardware。这些文件夹用于存放项目所需的不同类型的文件。其中,core文件夹用于存放核心文件和启动文件;fwlib文件夹用来存放ST官方提供的库函数源码文件;hardware文件夹用来存放相关硬件驱动文件。Output文件夹用来存放工程编译过程中生成的文件.
- 编写代码
在具有以上配置的 STM32 工程文件中,按照题目需求编写代码,如控制LED发光等等。同时,也需要根据题目需求,实现相关的驱动程序,如串口调试助手、测试工具等等。
下面是一份示例代码,通过控制板载四个 LED 灯进行控制。
#include "stm32f10x.h" #include "led.h" void Delay(__IO u32 nTime); int main(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); while (1) { GPIO_SetBits(GPIOA, GPIO_Pin_0); Delay(0xFFFFF); GPIO_SetBits(GPIOA, GPIO_Pin_1); Delay(0xFFFFF); GPIO_SetBits(GPIOA, GPIO_Pin_2); Delay(0xFFFFF); GPIO_SetBits(GPIOA, GPIO_Pin_3); Delay(0xFFFFF); GPIO_ResetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3); Delay(0xFFFFF); GPIO_ResetBits(GPIOA, GPIO_Pin_3); Delay(0xFFFFF); GPIO_ResetBits(GPIOA, GPIO_Pin_2); Delay(0xFFFFF); GPIO_ResetBits(GPIOA, GPIO_Pin_1); Delay(0xFFFFF); GPIO_ResetBits(GPIOA, GPIO_Pin_0); Delay(0xFFFFF); } } void Delay(__IO u32 nTime) { for (; nTime != 0; nTime--); }
希望这份回答可以对您有所帮助。
如果我的回答解决了您的问题,请采纳!解决 无用评论 打赏 举报
悬赏问题
- ¥30 电脑误删了手机的照片怎么恢复?
- ¥15 (标签-python|关键词-char)
- ¥15 python+selenium,在新增时弹出了一个输入框
- ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
- ¥20 学生成绩管理系统设计
- ¥15 来一个cc穿盾脚本开发者
- ¥15 CST2023安装报错
- ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办
- ¥15 有人懂怎么做大模型的客服系统吗?卡住了卡住了
- ¥20 firefly-rk3399上启动卡住了