恢复最近删除的网站,wordpress做成淘宝客,中装建设股票行情,34线城市做网站推广stm32学习总结#xff1a;3、Proteus8STM32CubeMXMDK很有搞头 文章目录 stm32学习总结#xff1a;3、Proteus8STM32CubeMXMDK很有搞头一、前言二、资料收集三、实际案例-点灯1、Proteus8安装2、Proteus创建stm32F013C6项目并添加外围LED电路3、STM32CubeMX配置F103C6引脚生成…stm32学习总结3、Proteus8STM32CubeMXMDK很有搞头 文章目录 stm32学习总结3、Proteus8STM32CubeMXMDK很有搞头一、前言二、资料收集三、实际案例-点灯1、Proteus8安装2、Proteus创建stm32F013C6项目并添加外围LED电路3、STM32CubeMX配置F103C6引脚生成MDK工程4、MDK编译生成hex文件5、Protens导入hex文件进行仿真 四、最后 一、前言
前阵子用codesys的软PLC方案来仿真测试了PLC以此研究了一阵子PLC和profinet感触颇深这种仿真软件还真是挺好用的硬件软件化真的很方便。最近stm32上有个使用 ADAU1361进行录放音的研究正好找到了仿真stm32的方案Proteus这个时候我发现这个不就是我们大学仿真C51的时候用的软件吗时间太长不搞这块的开发感觉都快忘的差不多了实际软件开发做多了感觉这类电子控制类的开发也变得有意思了PLC、C51搞的有点返祖的感觉了。目前Proteus仿真stm32有一些型号还没有但是作为基础研究学习是够了。此外正好借着这个机会早点把stm32这块的一些基础开发总结完也拖了不少时间了后续有时间再进阶总结一下使用freertosstm32cubemx相关的内容。
二、资料收集
Proteus安装https://blog.csdn.net/weixin_44543463/article/details/116203188 Proteus使用资料http://www.tup.tsinghua.edu.cn/upload/books/yz/051322-01.pdf Proteus仿真stm32https://blog.csdn.net/mistake11a/article/details/109555825 STM32CubeMX也再熟悉一下https://www.st.com/resource/zh/user_manual/um1718-stm32cubemx-for-stm32-configuration-and-initialization-c-code-generation-stmicroelectronics.pdf
三、实际案例-点灯
1、Proteus8安装
参考对应博客直接下载安装即可太过于详细了。 百度网盘链接https://pan.baidu.com/s/1EHGewnvjcnEpPbXnR1qLIA 提取码: pr89
1右键压缩包进行解压。进入解压的文件夹右键p8.9.sp0.exe文件使用管理员身份打开。 这里可能有些机器会先弹出安装Visual C的一个界面一定要安装这些勾选的组件否则后续安装会出现问题。 2莫得选择next 3I accept然后next 4选择使用本地的激活证书license key。 5继续next 6这里会打开一个激活证书管理界面点击左下角【Browse For Key File】找到刚才解压出来的文件夹里面解压后的【Proteus 8.9】文件夹中的【Crack】文件夹下的【Licence.lxk】文件点击【打开】。 7点击 【install】在弹出的对话框询问是否继续选择 【是】安装完成后点击【Close】。 8都不用勾选直接【next】 9这里选择安装方式选择【Custom】然后选择要安装的路径注意两个路径一定要一样否则后期软件使用时会闪退。 10这里不用管默认【Next】就可以。 11继续【Next】 12点击【Install】开始安装安装耗时一分钟左右。 13 点击【Close】不要运行Proteus 14再次进入安装包解压后的【Proteus 8.9】文件夹中的【Crack】文件夹选择所有文件【复制】。 15 在桌面找到【Proteus 8.9】的快捷方式右键点击【打开文件所在的位置】 16 在空白处【右键-粘贴】将刚才那三个文件复制过来。 17 右键粘贴后的【pp8.9】选择【以管理员身份运行】。运行完成后不会弹出任何对话窗运行一下就可以建议关闭各种安全管家之后再运行。 18 再次打开解压后的【Proteus 8.9】文件夹鼠标右击【Translations】选择【复制】。 19再次右键桌面【Proteus 8.9】的快捷方式右键点击【打开文件所在的位置】 20点击路径中的【Proteus】文件夹回到上一级。 21在空白处【右键-粘贴】将刚才复制的Translation文件夹粘过来可能会有27/28个同名文件点击【替换目标中的文件】。 22进入【C:\Program Files (x86)\Labcenter Electronics】目录下有一个【Proteus 8 Professional】文件夹进入此文件夹【全选-复制这两个文件夹】。 23回到Proteus的安装路径同19、20步【右键粘贴替换目标文件】 24至此安装完成 2、Proteus创建stm32F013C6项目并添加外围LED电路
目前我们一般使用的最小板大多为F103C8T6Proteus上没有C8的但是在论坛上找到C6的引脚基本和C8是一样的http://www.51hei.com/bbs/dpj-185185-1.html只是Flash和RAM小一点从下图看F103C4和F103CB也是可以作为简单demo来匹配C8的 创建工程很简单因为是中文版所以基本上应该都能看懂
1新建工程 2选择默认模板 3默认不创建PCB布版设计 4创建固件选择相关STM32F103C6的固件编译器选择MDK带的即可也可以自己配置arm gcc 5然后下一步并完成即可 6添加元器件 添加LED-RED 添加电阻
7然后简单布线一下这里需要相关的电子知识一般LED需要的电流大小设置的电阻大小、电压值计算、串并联等等否则灯就亮不起来或者实际硬件设计时导致烧掉元器件等问题 3、STM32CubeMX配置F103C6引脚生成MDK工程
接着我们需要开发程序控制STM32F103C6的PA1-PA8输出电平来使得LED亮灭这里我们锻炼使用STM32CubeMX来配置相关引脚关于STM32CubeMX的安装之前已经有一些接触这个还是比较推荐的确实会省不少事。
1进入MCU选择界面 2左上角搜索STM32F103C6之后选择一个型号即可我们选择默认的第一个之后选择开始项目 3配置相关引脚这里设置PA1-PA8为GPIO输出 4时钟配置和Tools我们这里先不需要在项目管理这里设置工程路径和工具链IDE即可MDK这里选择MDK-ARM即可 最后点击右上角的GENERATE CODE生成代码即可生成完成直接打开工程就进入MDK软件页了。
4、MDK编译生成hex文件
1、点击魔法棒进入配置页面2、在配置页面的Output这里配置生成HEX文件3、写完代码最后进行编译或者重编译生成hex文件
这里我们控制GPIO的拉高拉低来闪烁LED灯代码如下主要是main.c的相关位置添加循环延时控制寄存器也可以按部就班的写GPIO引脚的拉高拉低
...
void delay_ms(uint32_t ms)
{uint32_t i_cnt,j_cnt;for(i_cnt0; i_cnt 3000; i_cnt);for(j_cnt0; j_cnt ms; j_cnt);}
uint32_t i;
/* USER CODE END 0 *//*** brief The application entry point.* retval int*/
int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();/* USER CODE BEGIN 2 */GPIOA-BSRR 0xff;/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */for(i 0; i 8; i){delay_ms(99000);GPIOA-BRR (1 i);delay_ms(99000);GPIOA-BSRR (1 i);}for(i 0; i 8; i){delay_ms(99000);GPIOA-BRR 0x000000ff;delay_ms(99000);GPIOA-BSRR 0x000000ff;}}/* USER CODE END 3 */
}
...生成的hex文件位置MDK项目目录下
5、Protens导入hex文件进行仿真
Proteus工程中双击元器件导入hex文件 然后调试-开始仿真即可
四、最后
Proteus确实好用有的时候比开发板甚至面包板都好用用于学习研究再好不过了也避免了电路设计错误烧掉板子等问题使用过程中也算是简单锻炼了设计电路的能力但是有的时候相关的元器件型号缺失就显得比较鸡肋从大学那时候学习的记忆看似乎更适合去仿真C51系列的单片机作为教学之类的。比如我这里需要ADAU1361和STM32F411但是相关元器件导入要登录之类的甚至需要自己去设计电路图导入导出这个时候就比较麻烦了这对于一些新手就比较劝退折腾不少时间最后实际项目可能还有差异所以有能力入手开发板和面包板的还是比较推荐这种方式如果实在手头有限但有时间折腾的可以啃一下Proteus还是可以省不少钱的我后续会根据自己手头有的元器件来选择使用proteus还是实际元器件操作进行总结我们也不必拘泥于这些外物学到知识才是关键。