基于stm32f103c8的流水灯,包含gpio的配置,适于STM32入门
2021-12-14 14:09:36 2.52MB 103c8流水灯
1
本例程基于STM32F103C8,使用PA4 5 6 7 SPI对接外部FLASH,实现读卡器功能。FLASH为fm25w1283,可运行。注意,使用该例程前,需要确保SPI和FLASH可通信,且接线正确。
2021-12-06 16:02:47 32.4MB U盘读卡器 STM32F103c8 fm25w128 SPI
1
从STM32的keil开发环境移植到IAR开发环境,分为六步走。 首先安装IAR编译环境,这个自行安装。 第一步 新建文件夹 新建一个文件夹命名“LED_CTRL”,在这个文件夹下再建立三个文件夹, CMSISI:放系统启动相关文件 ,FWLIB:放库文件 USER.:放用户自己写的文件 如下图: 第二步 拷贝文件 在keil下其实也有相对应的文件,我么们考过来就可以了。 下图是keil工程下的文件: 下面我们开始拷贝: 1. 拷贝CMSIS文件 2. 拷贝FWLIB文件 3. 拷贝USER文件 4. 拷贝剩余的其他用户自己写的程序(其实这些文件放哪都可以,根据自己的习惯吧) 拷贝完成如下图: 第三步 新建工程 打开软件 新建工程 点击OK 命名led_temp保存到LED_CTRL下 然后就会得到下面的界面。 第四步 添加分组及文件 开始往工程中添加文件 1. 新建分组:add group 好了,分组完成。 2.添加文件 a.往CMSIS添加文件:system_stm32f10x.c、startup_stm32f10x_md.s CMSIS->add->add files 路径如下: b.往FWLIB添加文件:"stm32f10x_gpio.c" "stm32f10x_rcc.c" "stm32f10x_spi.c" "stm32f10x_usart.c",(这里是因为工程中使用到了一部分的外围,所以需要自己根据工程需求添加) c.往USER中添加: "stm32f10x_it.c" "main.c",另外还有其他的用户自己写的文件led.c、nrf24l01.c、uart.c 。 到此,文件添加完成。 第五步 配置工程 同样选中“led_temp”然后右键,选择Options.就会出现配置界面,如下图 。 a. 选择工程使用的芯片型号,stm32f103c8t6,这里自己根据自己设置哦。 b.Library Configuration的Library要设置为Full,这样才能使用printf(); b. 进入C/C++Compiler,添加文件路径和所需的宏定义。 到此路径添加完成,下面添加宏定义。 不记得的,可以打开芯片的头文件查找即可。 到此,宏定义添加完成。 c. 进入Linker配置链接文件,点击进入,在IAR环境中已经存在,你选择和自己芯片匹配的就好了。 d. 进入Debugger配置,选择自己程序的下载方式。 选择下载到flash 到此,工程配置完成。 第六步 编译工程 同样选中”led_temp”右键-》Rebuild all 弹出文件名设置 同样设置为“led_temp”点击保存。 第六步 解决编译错误问题 弹出好多的错误: 解决办法: 1.core_cm3.h重命名为core_cm3.h.old 再次编译: 出现错误: 解决办法:继续进入工程配置,General Options->Library Configuration:Library 选FULL,右下角选择Use CMSIS 我们会看到,错误已经没有了,但是有很多的警告,如下图 解决办法:startup_stm32f10x_md.s文件中的”SECTION .text:CODE:REORDER”都要改为“SECTION .text:CODE: NOROOT:REORDER” 方法很简单,用Notepad++打开然进行替换即可。 首先,要去掉文件的只读模式,然后在修改。 好了,全部修改完成。保存,并恢复为只读模式,然后再编译工程。 工程编译结果无错误,无警告,移植到此结束,完美。 。
2021-12-06 15:45:46 1.57MB KEIL IAR
1
void Stm32_Clock_Init(uint8_t SW,uint8_t PLLSRC,uint8_t PLLXTPRE,uint8_t PLLMUL,uint8_t HPRE,uint8_t PPRE1,uint8_t PPRE2,uint8_t Latency) { unsigned char temp=0; RCC_DeInit(); if(SW == 00) { RCC->CR |= 0x00000001; while(!((RCC->CR>>1) & 0x01)); } else if(SW == 01) { RCC->CR |= 0x00010000; while(!((RCC->CR>>17) & 0x01)); RCC->CR |= 0x00080000; } else if(SW == 10) { if(PLLSRC) { RCC->CR |= 0x00010000; while(!((RCC->CR>>17) & 0x01)); RCC->CR |= 0x00080000; RCC->CFGR |= PLLMUL<CFGR |= 1<CR |= PLLXTPRE<CR|=0x01000000; while(!(RCC->CR>>25)); } else { RCC->CR |= 0x00000001; while(!((RCC->CR>>1) & 0x01)); RCC->CFGR |= PLLMUL<CR|=0x01000000; while(!(RCC->CR>>25)); } FLASH->ACR |= 0x30 + Latency; RCC->CFGR |= HPRE<CFGR |= PPRE1<CFGR |= PPRE2<CFGR |= SW; while(temp != SW) { temp = ((RCC->CFGR>>2) & 0x03); } } }
2021-12-06 10:25:41 1.55MB stm32f103 寄存器 工程模板
1
stm32f103c8移植UCOSIII单任务演示,使用MDK(keil5)打开工程编译即可
2021-11-30 19:13:37 8.22MB stm32f103c8 UCOSIII
1
STM32工作笔记0031---基于STM32F103C8自己实现的跑马灯实验_使用STLINK调试.zip 这里大家可以参考博文,来看这个代码。
2021-11-27 16:23:03 5.88MB STM32F103C8 嵌入式 物联网 跑马灯
1
HAL库编写 STM32F103C8 带按键控制流水灯,PB0接高电平流水灯流动,接低电平流水灯停止。PA0-7驱动8个LED
2021-11-23 17:02:58 8.06MB stm32 hal库 流水灯
stm32f103c8小内存器件下实现了最新ucos Ⅲ的移植,基于keil 4实现。
2021-11-16 21:30:39 8.02MB ucos STM32F103C8 keil
1
很清晰的代码,含中文、英文、图片输出
2021-11-16 19:21:16 4.92MB stm32f103c8 st7735
1
Patch的部分:1. 原版Bootloader在刷入固件后会使能芯片读保护,本版本已去除。2. 原版Bootloader在检测到C8T6后会认为硬件是STLink V2而非STLink V2-1,故在上电启动时停留在DFU模式,本版本将C8T6也判定为STLink V2-1,故上电启动时可以直接启动固件,无需手动退出DFU模式(与CBT6上电表现相同)。 固件用法:刷入0x8000000地址,然后用官方工具升级固件即可。CBT6的片子可以用官方工具升级。C8T6的片子可以用STLinkUpgradePatched升级(CSDN搜一下便是)。
2021-11-08 00:00:54 9KB STLink V2-1 Bootloader STM32F103C8
1