纯人工翻译中文版本,STM32CubeMX用户手册中文版,STM32CubeMX用户手册中文版UM1718-翻译版.菜鸟到高手,显得有些霸气哈,不过的确如此,官方带给我们一个比较实用的stm32的工具。
这个工具就是STM32CubeMX,昨天玩freeRTOS的时候就提到过。
说到freeRTOS,这里就多说两句。
全局变量,在任务间相互访问的时候也是需要临界保护的,不然可能会出现奇怪的问题。
不过我们可以关掉时间片调度,任务间可以访问全局变量而不用加保护(不等于菜鸟可以随意代码)。
关闭了时间片调度,只有发生vTaskDelay的时候才会上下文切换。
只要代码合理访问全局变量可以不加保护的。
因此代码也不是可以任意书写的,关于freeRTOS的问题,多看看源码,一切都会有答案。
源码较少,这里就不过多介绍。
关闭时间片不是网上说的configUSE_TIME_SLICING这个宏定义,老鸟发现这个宏压根没用哈,嘿嘿。
阅读源码可以找到相关宏配置。
不过不建议关闭,时间片调度也可以让一个任务在执行一定时间后切换到其他就绪任务去执行。
如果有freeRTOS相关问题,可以留言给我。
废话说多了点哈,继续我们的STM32CubeMX。
下面我们来讲讲这个工具的作用,讲完后,可以自己下载一个试试,挺简单不多介绍。
到官网下载STM32CubeMX,并安装。
1:芯片选型打开STM32CubeMX,我们点击newproject,我们就可以进行芯片选型,如果你下载了打开了这个工具,是不是很惊讶,stm32的所有产品型号都在里面,而且左下提供了资源勾选,比如你要以太网支持,勾选以太网选项,所有的支持以太网的stm32芯片才会被显示,旁边还有个max的栏目指示了芯片最多支持该功能的个数。
空白的一般默认只有一个。
下图是我勾选以太网的截图。
上图不仅提供了芯片,还提供了价格,是否在售,封装,存储,频率等一些列信息。
除了cpu资源可以选型外,上面还提供了脚多少,存储大小等非常灵活的选型方式。
我们选择其中一个的单片机后。
右上部分给我们提供了完美的支持。
第一个选项提供了改cpu的特性,我们可以大概的了解选中的cpu资源。
第二个选项提供该cpu框图,截图图片太大,这里就不截图了。
第三个选项提供了cpu文档,这个文档非常多也非常全面,基本不用在网上东找西找了,主要给硬件工程师用。
第四个选项提供了cpu的相关设计资源,软件编程文档,给软件工程师用,非常全面,包括网上很少用到的文档资料,比如系统移植相关的底层资料(堆栈,指令,汇编)。
第五个选项提供了芯片购买途径,这个每个人自己选择吧。
第六个选项开始工程,芯片选好了,就可以开始工程。
2:设定芯片。
芯片选好后,可以开始设定芯片。
这就是软件工程师的好帮手呀。
比如我要以太网功能,勾选上以太网即可,他就会自动分配出芯片对应的以太网接口。
如下图:上面我选了标准的MII接口。
很多人可能就不理解,你勾了个以太网,咋报错了。
老鸟告诉你为啥变红了,stm32有个复杂的功能就是io口复用,勾选mii后分配的io口和spi2以及iis口重合了,所以这个工具非常智能的提示了出来,非常神奇吧。
告诉你他们不能使用了。
还有些变黄了,说明他们可以选择性使用,真是太方便了,省去了查资料慢慢找io的痛苦。
比如我们还要给它个外部时钟。
我们勾选时钟即可,响应的时钟脚就会分配出来。
如果要将某个脚设置成输入输出那就更简单了,鼠标点选对应的io口选择对应功能即可,比如我单击PA6,它的所有功能可以轻松选择:软件使用比较简单,不过多解释,一看就明白,设置完芯片功能后,我们就设定系统各项功能时钟。
选择时钟设置页面(clockconfiguration)时钟轻松设定,如下图,简单明了,不过多解释了:时钟配置完成后,可以切换到configuration选项对功能进一步设定,里面参数都是常用的功能,设置较为简单。
就不多举例了,比如网络功能里面设置mac地址等。
3:生产初始化代码经过上面的图形化设定,我们可以直接生产初始化代码。
省去我们查阅资料慢慢配置的的环节,时间更多的利用在应用层设计。
点击project下面的生成代码选项。
输入工程名(根据你项目需要起名),这里我就随便输入一个名字。
设定好相关参数。
点击ok即可。
顺便说下,这个工具是配带教程的,我这里只是告诉大家有这样个工具可以加速开发,具体设置参考官方教程。
生成后打开文件夹内容如下:上图的inc和src文件夹里面是生成的主要代码,其他几个文件夹里面的东西,大家可以根据自己需要选择。
src文件夹文件如下:打开熟悉的ma
2023/8/19 21:31:32 11.41MB stm32 仿真
1
献给那些正在学操作系统的!
2023/8/19 3:47:27 7.24MB 操作系统
1
NumericalMethodsUsingMATLAB第四版,作者是Mathews和Fink,英文版文字版非扫描版.
2023/8/17 18:18:11 3.22MB numeric 数值方法 matlab 4th
1
电子科大的学弟学妹们可以放心大胆的下载了,虽是英文版的,但真的好用!
2023/8/17 6:50:27 1MB 计组 戴维A 帕特森
1
SQL必知必会第四版mobi格式kindle
2023/8/16 19:06:58 350KB SQL必知必会 第四版 mobi Kindle
1
数据结构教程第五版李春保;
课后习题答案;
实验报告;
配套源代码;
上课课件PPT;
第四版学习指导;
严慧敏数据结构教程;
2023/8/14 17:16:11 61.79MB 数据结
1
非常不错的答案哦!!!大家快来下载吧!很有uyde哦!
2023/8/13 9:26:49 621KB 答案
1
第一章....4【实例1】使用累加器进行简单加法运算:...4【实例2】使用B寄存器进行简单乘法运算:...4【实例3】通过设置RS1,RS0选择工作寄存器区1:...4【实例4】使用数据指针DPTR访问外部数据数据存储器:...4【实例5】使用程序计数器PC查表:...4【实例6】if语句实例:...4【实例7】switch-case语句实例:...4【实例8】for语句实例:...4【实例9】while语句实例:...5【实例10】do…while语句实例:...5【实例11】语句形式调用实例:...5【实例12】表达式形式调用实例:...5【实例13】以函数的参数形式调用实例:...5【实例14】函数的声明实例:...5【实例15】函数递归调用的简单实例:...5【实例16】数组的实例:...6【实例17】指针的实例:...6【实例18】数组与指针实例:...6【实例19】P1口控制直流电动机实例...6第二章....8【实例20】用74LS165实现串口扩展并行输入口...8【实例21】用74LS164实现串口扩展并行输出口...10【实例22】P0I/O扩展并行输入口...12【实例23】P0I/O扩展并行输出口...12【实例24】用8243扩展I/O端口...12【实例25】用8255A扩展I/O口...14【实例26】用8155扩展I/O口...19第三章....26【实例29】与AT24系列EEPROM接口及驱动程序...26【实例30】EEPROM(X5045)接口及驱动程序...30【实例31】与铁电存储器接口及驱动程序...33【实例32】与双口RAM存储器接口及应用实例...35【实例33】与NANDFLASH(K9F5608)接口及驱动程序...35第四章....43【实例34】独立键盘控制...43【实例35】矩阵式键盘控制...44【实例36】改进型I/O端口键盘...46【实例37】PS/2键盘的控制...49【实例38】LED显示...53【实例39】段数码管(HD7929)显示实例...54【实例40】16×2字符型液晶显示实例...55【实例41】点阵型液晶显示实例...61【实例42】LCD显示图片实例...63第五章....70【实例43】简易电子琴的设计...70【实例44】基于MCS-51单片机的四路抢答器...71【实例45】电子调光灯的制作...76【实例46】数码管时钟的制作...81【实例47】LCD时钟的制作...96【实例48】数字化语音存储与回放...103【实例49】电子标签设计...112第六章....120【实例50】指纹识别模块...121【实例51】数字温度传感器...121第七章....124【实例53】超声波测距...124【实例54】数字气压计...125【实例55】基于单片机的电压表设计...132【实例56】基于单片机的称重显示仪表设计...133【实例57】基于单片机的车轮测速系统...136第八章....138【实例58】电源切换控制...138【实例59】步进电机控制...140【实例60】单片机控制自动门系统...141【实例61】控制微型打印机...144【实例62】单片机控制的EPSON微型打印头...144【实例63】简易智能电动车...145【实例64】洗衣机控制器...149第九章....152【实例65】串行A/D转换...152【实例66】并行A/D转换...153【实例67】模拟比较器实现A/D转换...154【实例68】串行D/A转换...155【实例69】并行电压型D/A转换...156【实例70】并行电流型D/A转换...156【实例71】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif接口的A/D转换...157【实例72】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif接口的D/A转换...161第十章....164【实例73】单片机间双机通信...164【实例74】单片机间多机通信方法之一...166【实例75】单片机间多机通信方法之二...171【实例76】PC与单片机通信.
2023/8/13 0:42:44 929KB 51单片机 范例
1
该资源是经典教材---运筹学基础及应用-第四版(胡运权),书中有大量算法,值得学习
2023/8/11 16:21:44 6.99MB 算法
1
设计8088最小系统要求:1、用8088CPU,配置8284时钟芯片,提供CLK、READY、RESET信号。
8284芯片及周围器件参数见教材。
2、用3片74LS373做地址总线分离器,分离出20根地址线A0~A193、用1片74LS245做双向数据总线驱动器。
4、配置32KROM(27C256),用作BIOS存储器5、配置2*32KRAM(62256)为系统内存储器 6、配置标准I/O接口,总线包括:D0~D7、A0~A2、WR、RD、CS。
7、注意ALE、DT/R 、DEN控制线的用法8、3片存储器的片选可用3-8译码器的输出Y0、Y1、Y2控制,Y4可接I/O的片选.9、IO/M,WR、RD、可通过逻辑或门得到两组独立的读写线,分别控制内存和I/O的读写操作10、注意MN/MX引脚的处理,CPU其他未用的引脚可以不画11、按工程制图标注电路中各芯片的型号、引脚功能和引脚号,不可用总线或简化画法。
2023/8/10 10:23:27 58KB 微机原理制图
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡