如何利用微信进行统计STM32CubeMX进行STM32开发

stm32cube吧-百度贴吧--STM32cube软件教程,学习教程,问题讨论--致力于实际中应用stm32cube的教学,解决实际使用过程中的问题,力争从其他单片机开始学习stm32的人能最快的开发应
签到排名:今日本吧第个签到,
本吧因你更精彩,明天继续来努力!
本吧排名:
本吧签到人数:6
可签7级以上的吧50个
本月漏签0次!
成为超级会员,赠送8张补签卡
连续签到:天&&累计签到:天
超级会员单次开通12个月以上,赠送连续签到卡3张
STM32cube软件教程,学习教程,问题讨论
官网下载太慢了。 我把4.7.1 和 4.9.0放在了百度云盘,需要的可以去下载,快很多。 /s/1eQBAl3s
前面12个实验的源代码,希望对各位有所帮助。 记得点赞。
准备写一个STM32CubeMX 开发指南系列,硬件基于 ALIENTEK 探索板 STM32F4 开发板。 今天先写一个入门准备工作,
这个实验写的比较细,特别讲解了很多STM32CubeMX中断开发的思路,值得借鉴。 对CAN 2.0 开发过程也进行了详
试验目的: 1. 通过USART1串行中断接收数据 2. 通过USART1串行DMA发送数据 3. 添加MODBUS ASCII通讯协议 4. 通过MODB
如题,哪位大神有
官方的stm32cube软件教程实例ADC操作代码(官方自带的,可以无视),看不懂怎么用的可以等本贴吧更新图片教程,现在就是凑帖子数量,完成转职的,请谅
发出来备忘,1楼度娘
今天下载了一个STM32Cube,然后发现出问题了打开之后就会闪退 ,请问大家有遇到这样情况吗?我是从官网下
是不是我的配置不对呀
请问为什么我用MATLAB打开stm32cubeMX不能够进行编译?但是我直接打开stm32cubeMX却能够正常编译呀?请问为什
查了一些资料,感觉更想学ucos,可是cube目前只支持FREERTOS,前辈们快给个理由让我学freeROS吧。大学测控专
本实验选取了通用定时器TIM2,如果只是为了实现LED闪烁,其实,使用system tick timer就可以了。 这个实验主
官网没下到 stm32cubexm for os x 有没有大佬有可以发一下
生成工程后,选择V4的版本,但是打开工程的时候,总是报这个错误,请各位大牛指点下,跪求…………
还没有入门,想做个小实验
试了试那个流水灯的教程发现灯是常亮,有能人帮我看看问题出在哪吗?
使用STM32CubeMX 配置外设,真的很方便。通过调用STM32F4xx HAL drivers函数,可以快速实现对外设的初始化和读
大家有没有遇到用stm32cubemx生成的STM32fF1系列代码,用ST-LINK下载出现在user模式下只能下载一次,然后就找不到芯片了,只能切换回ISP后者RAM模式下
搞了好长时间了,一直没什么进展。 cube里的例程看不懂;微雪最近的eth教程没弄出来,感觉有问题; 最
用STM32CubeMX生成的CAN通信程序接收到CAN数据就进入硬件故障函数(while(1)死循环),基于固件库开发的CAN程
//从ds18b20得到温度值 //精度:0.1C //返回值:温度值(-550~1250) short DS18B20_Get_Temp(void) { uint8_ uint8_t TL,TH; short
最近看到这个STM32CUBEMX感觉很有趣,对于片内外设的初始化特别方便。但是不知道怎么快速添加一个片外设
stm32cubemx软件教程之flash代码示例(官方版),凑帖 /** ****************************************************************************** * @fil
今天用开发板调试SPI的时候发现,如果使用轮询模式,SPI的速率不能太高,只能是fPLK/32,最高/16, 速度高了
以前的项目用的STM32f0x1系列的单片机,使用的库为非HAL的标准库,现在想移植到STM32L052上,使用的库为CUBE HAL库,请问L052xx系列有没有像以前一样
/** ****************************************************************************** * @file DCMI/DCMI_SnapShotMode/Src/main.c * @author MCD A
结合stm32cube stm32-mat matlab的使用,视频地址,以及相关软件资料下载,以SPWM为例讲解,如何生成stm32工程代
请问STM32cube怎么读?是STM32魔方?STM32立方?还是。。。 cube库与固件库有区别吗?
1.初始化代码存在致命bug void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) { GPIO_InitTypeDef GPIO_InitS if(hi2c-&Instance==I2C2) { /* U
刚才被吞了,不知道能不能回来。 这里就不详细说明了。 配合stm32cubemx使用效果最好。 自动查找底层驱动函数和变量,自动补全带提示。 上图。
路径也没中文啊
1. STM32CubeMX确实大大加速了开发过程,和以前的固件库相比,底层其实没啥区别,所谓底层就是对寄存器操
如图,刚用这个软件,不知道需要下载什么插件? 有大神吗
stm32cubemx中文问答平台升级,需要大家的鼎力支持! 网址 :
希望正在研究本软件的人能来支持下, 能发表下您对这款软件的使用
没人来,真蛋疼,不想搞了。。咋办
1. LSE时钟使能只能在外设RCC里面配置; 2. RTC无法直接使能,必须有选中一个RTC output 或者 Tamper,才能激活RTC配置, 这个应该是bug
如题,大家交流交流
STM32CUBE软件使用教程1----流水灯用软件怎么设置? 貌似默认的教程都是从流水灯开始的,呵呵 用这个软件编写arm的流水灯只需要三行代码 下面就一步一
这个实验比较简单,但是非常重要。 必须注意的是 1. 启动看门狗函数必须放在初始化看门狗函数之后 2.不
发贴红色标题
签到六倍经验
兑换本吧会员
赠送补签卡1张,获得
助攻总额: 43W
贴吧热议榜
发表后自动分享本贴
使用签名档&> Stm32cubeMx配置ADC多通道采集
By Derrick
实现功能:stm32cubeMX配置采集(非dma和中断方式)
Stm32的转换模式还是很灵活,很强大,模式种类很多,那么这也导致很多人使用的时候没细心研究参考手册的情况下容易混淆。不知道该用哪种方式来实现自己想要的功能。网上也可以搜到很多资料,但是大部分是针对之前老版本的标准库的。昨天帮客户解决这个问题,正好做个总结:使用stm32cubeMX配置生成采集的例子。
硬件:eemaker板(基于stm32F103c8的)
在百度搜索采集,大部分的都是基于采用dma模式才实现的。而我讲的使用非dma方法。首先有几个概念要搞清楚:
扫描模式(想采集多通道必须开启):是一次对所选中的通道进行转换,比如开了ch0,ch1,ch4,ch5。Ch0转换完以后就会自动转换通道0,1,4,5直到转换完。但是这种连续性并不是不能被打断。这就引入了间断模式,可以说是对扫描模式的一种补充。它可以把0,1,4,5这四个通道进行分组。可以分成0,1一组,4,5一组。也可以每个通道配置为一组。这样每一组转换之前都需要先触发一次。
Stm32 的单次模式和连续模式。这两中模式的概念是相对应的。这里的单次模式并不是指一个通道。假如你同时开了ch0,ch1,ch4,ch5这四个通道。单次模式转换模式下会把这四个通道采集一边就停止了。而连续模式就是这四个通道转换完以后再循环过来再从ch0开始。
另外还有规则组和注入组的概念,因为我这个例程只用到了规则组,就不多介绍这两个概念,想要弄清楚请自行查阅手册。
下面进入正题,配置stm32cubeMX。
先使能几个通道,我这里设置为0、1、4、5.
然后就要配置的参数:
目前经过我的测试,要想用非dma和中断模式只有这样配置可以正确进行多通道转换:扫描模式+单次转换模式+间断转换模式(每个间断组一个通道)。
分析配置成这样的模式,扫描模式是在配置为多个通道必须打开的,stm32cubeMX上也默认好了,只能enable。单次转换模式是我不需要不停的去采集每个通道值,而是把四个通道采集完以后就让它停止。这里间断配置是关键,间断模式可以让扫描的四个通道进行分成四个组,stm32cubeMX参数里面number of Discontinous Conversions是配置间断组每个组有几个通道的,这里必须配置为1(否则在获取ad值得时候只能读取到每个间断组最后一个通道)。
生成mdk工程代码。这时候还没有完成,只是实现了ADC的初始化,需要采集这四个通道值得函数还要自己写。下面这个是我main函数的while循环:
for(i=1;i&5;i++)
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1,0xffff);
adcBuf[i]=HAL_ADC_GetValue(&hadc1);
printf("------ch:%d--%d-------\r\n",i,adcBuf[i]);
HAL_ADC_Stop(&hadc1);
HAL_Delay(1000);
调用hal库接口函数也需要注意,HAL_ADC_Start一定要放在for里面,即每一个通道都要触发。四个通道都采集完了,再去调用HAL_ADC_Stop(&hadc1);结束本次ADC采集。
最后说下,这个是针对stm32F103系列的芯片,其他型号的配置可能略有不同,大体思路一样。
有其他问题,加qq来探讨:
Derrick Wang
转载请注明转自电子创客营:!
or分享 (0)&>&STM32Cubemx使用教程详解
STM32Cubemx使用教程详解
上传大小:5.19MB
详细介绍STM32Cubemx的使用方法。
综合评分:4.7(3位用户评分)
所需积分:
下载个数:112
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有3条
不错的资料,受教了
不错的资源
很好的资料。
审核通过送C币
正则表达式学习电子书
文本编辑器转辑
创建者:zhouyue777111
MATLAb Robotic Toolbox 合集
创建者:kroc_kroc
上传者其他资源上传者专辑
STM32F4_HAL库_V1.16.0_例程
CP2102驱动_WIN7_X64
TFTP软件3CDaemon中文版
STM32F1xx_HAL库_V1.4.0_及例程
角度传感器MLX90316中英文数据手册及中文编程器手册
开发技术热门标签
VIP会员动态
前端开发重难点
17年软考最新真题及解析
物联网全栈开发专题
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
STM32Cubemx使用教程详解
会员到期时间:
剩余下载个数:
剩余C币:0
剩余积分:6726
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
当前拥有C币
(仅够下载10个资源)
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
全站1200个资源免积分下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
hducollins
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
STM32Cubemx使用教程详解21ic官方微信-->
后使用快捷导航没有帐号?
ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU
请完成以下验证码
查看: 24321|回复: 67
STM32CubeMX生成代码试用体会
&&已结帖(0)
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
主题帖子积分
专家等级:结帖率:81%
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
& && &&&前天参加ST深圳研讨会,收获不大,就听了CubeMX感觉有点意思,回来试用了下。我用的是STM32F072B-DISCOVERY. Cube最新版本是4.3.1.增加了最新的L0,F042等新器件,和一些Nucleo板和Discovery板。可直接导入。
& && &&&程序实现功能:将接收到的数据发送出去。测试结果如图
& && &&&首先,打开STM32CubeMX,打开串口1。
&&然后Project --&Generate Code , 有两个页面选项
可以生成如上3种工程,我一般用keil .
以上页面中红框1表示每个外设单独生成一个.c和.h文件,这样层次更明确。红框2中表示把其余不用的pin脚都设置为模拟输入以降低功耗,也选上。
生成工程后会自动生成4个文件夹,如图。其中Drivers就是硬件抽象层,类似于以前的库,都以“hal”结尾。inc和src分别是生成的头文件和包含文件。Projects是工程快捷方式。
以下是使用以前的库需要做的工作,判断是否接收完毕,发送接收到的数据,等待发送完毕。
这是用新的CubeMX生成的工程需要添加的函数,串口接收直接使用HAL_UART_Receive( ) , 发送直接用HAL_UART_Transmit( ) .也不需要再加判断接收/发送状态。都包在了函数里面。修改响应的参数即可。但首次使用难免会不熟,我也是看了HAL里面的UART例程函数才知道可以调用这两个函数的,再看看原型,基本就懂了。
总体来说,硬件抽象层的这些函数,宏定义比起以前的库文件还是有很多的不同。但总体里说感觉还是会减少一些工作量。后面有工程时会具体再试一下。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
主题帖子积分
专家等级:结帖率:81%
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
附件是生成的072的keil工程,除了上图的红框,其余都是系统自动生成的。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:43.00
主题帖子积分
不错,谢谢分享;
ST、机器人、电路欣赏等版主;感谢大家的支持;
电子工程师群(深圳):
电子工程师群1:1897584;
物联网群:;智能机器人群:; AGV及立体仓库群:;
主题帖子积分
高级技术员, 积分 806, 距离下一级还需 194 积分
高级技术员, 积分 806, 距离下一级还需 194 积分
主题帖子积分
专家等级:结帖率:16%
主题帖子积分
高级技术员, 积分 806, 距离下一级还需 194 积分
高级技术员, 积分 806, 距离下一级还需 194 积分
作为一些参考,还是很不错的
过错只是暂时的遗憾
错过则是永远的惋惜
主题帖子积分
初级工程师, 积分 2144, 距离下一级还需 856 积分
初级工程师, 积分 2144, 距离下一级还需 856 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
初级工程师, 积分 2144, 距离下一级还需 856 积分
初级工程师, 积分 2144, 距离下一级还需 856 积分
Everything goes well!
主题帖子积分
初级工程师, 积分 2144, 距离下一级还需 856 积分
初级工程师, 积分 2144, 距离下一级还需 856 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
初级工程师, 积分 2144, 距离下一级还需 856 积分
初级工程师, 积分 2144, 距离下一级还需 856 积分
Cube是直接操作寄存器,绕过了库函数这一层
Everything goes well!
主题帖子积分
高级技术员, 积分 565, 距离下一级还需 435 积分
高级技术员, 积分 565, 距离下一级还需 435 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 565, 距离下一级还需 435 积分
高级技术员, 积分 565, 距离下一级还需 435 积分
多谢楼主分享。这个工具估计快要可以用了
STM8L152开发板,最新发布30套测试程序,每一套都配视频教程。
承接各类电子产品项目开发,全职接单,有责任心
主题帖子积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
主题帖子积分
专家等级:结帖率:2%
主题帖子积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
HAL_UART_Receive
这里的“HAL”是什么意思?全称
主题帖子积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
主题帖子积分
专家等级:结帖率:2%
主题帖子积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
STM32F103系列支持吗?楼主
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
主题帖子积分
专家等级:结帖率:81%
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
bear1 发表于
HAL_UART_Receive
这里的“HAL”是什么意思?全称
HAL--Hardware Abstraction Layer(硬件抽象层)。目前还不支持F1和L1。其余全部已经支持。下一步会慢慢完善
主题帖子积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
主题帖子积分
专家等级:结帖率:2%
主题帖子积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
初级工程师, 积分 2171, 距离下一级还需 829 积分
Marco-Marco 发表于
HAL--Hardware Abstraction Layer(硬件抽象层)。目前还不支持F1和L1。其余全部已经支持。下一步会慢慢完 ...
何时能支持F1? 有具体时间表吗?
主题帖子积分
助理工程师, 积分 1509, 距离下一级还需 491 积分
助理工程师, 积分 1509, 距离下一级还需 491 积分
主题帖子积分
专家等级:结帖率:13%
主题帖子积分
助理工程师, 积分 1509, 距离下一级还需 491 积分
助理工程师, 积分 1509, 距离下一级还需 491 积分
F1的体系结构 实在是太乱了·虽然功能强大,绝对不是一个标准的cpu,是个拼凑的修修补补出来的东西,漏洞百出。因此想自动生成,实在不容易。估计一辈子看不到了!!
但是 F1确实功能强大,无与伦比!
主题帖子积分
主题帖子积分
专家等级:结帖率:46%打赏:135.80受赏:158.50
主题帖子积分
f1不支持估计是因为市场问题。被流氓盯上了。哈哈
←← +→→←←
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
主题帖子积分
专家等级:结帖率:81%
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
刚又试了下。串口没有问题,往上到38400以上就有问题,会丢码。
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
主题帖子积分
专家等级:结帖率:81%
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
icecut 发表于
f1不支持估计是因为市场问题。被流氓盯上了。哈哈
楼上是指 ?D 吗,呵呵。
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
主题帖子积分
专家等级:结帖率:81%
主题帖子积分
资深技术员, 积分 353, 距离下一级还需 147 积分
资深技术员, 积分 353, 距离下一级还需 147 积分
Marco-Marco 发表于
刚又试了下。串口没有问题,往上到38400以上就有问题,会丢码。
好吧,我错了,串口时钟搞忘配了,之前默认是8MHZ,低速传输时自然没问题,等波特率设高之后自然不行了。已改为48MHZ,实测串口波特率115200收发一切正常。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
实习生, 积分 39, 距离下一级还需 11 积分
实习生, 积分 39, 距离下一级还需 11 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 39, 距离下一级还需 11 积分
实习生, 积分 39, 距离下一级还需 11 积分
mark下 后续交流
主题帖子积分
助理工程师, 积分 1165, 距离下一级还需 835 积分
助理工程师, 积分 1165, 距离下一级还需 835 积分
主题帖子积分
专家等级:结帖率:0%打赏:8.88受赏:118.88
主题帖子积分
助理工程师, 积分 1165, 距离下一级还需 835 积分
助理工程师, 积分 1165, 距离下一级还需 835 积分
bear1 发表于
STM32F103系列支持吗?楼主
好像还不支持F1
主题帖子积分
主题帖子积分
专家等级:结帖率:27%打赏:0.00受赏:12.00
主题帖子积分
icecut 发表于
f1不支持估计是因为市场问题。被流氓盯上了。哈哈
其他不谈,F1不久之后就可以和大家见面了。:D
I do not teach, but I coach. I do not feed, but I seed.
欢迎访问我的博客:/BLOG_OWNER_199055.HTM
主题帖子积分
主题帖子积分
专家等级:结帖率:27%打赏:0.00受赏:12.00
主题帖子积分
鼓励LZ的劍及履及,并且感谢LZ的经验和感想分享。
深圳roadshow,你有抽到奖么?:)
I do not teach, but I coach. I do not feed, but I seed.
欢迎访问我的博客:/BLOG_OWNER_199055.HTM
技术高手奖章
人才类勋章
时间类勋章
晶莹之水滴
发帖类勋章
技术领袖奖章
人才类勋章
时间类勋章
坚毅之洋流
发帖类勋章
荣誉元老奖章
等级类勋章
时间类勋章
涓涓之细流
发帖类勋章
技术奇才奖章
人才类勋章
时间类勋章
湍急之河流
发帖类勋章
精华达人奖章
等级类勋章
时间类勋章
社区建设奖章
等级类勋章使用STM32CubeMx创建U盘读写程序
22:42:26来源: eefocus 关键字:&&&&
平台windows 7CPU:STM32F205软件:keil 5下载:/s/1bpsvV6R安装好后,建立usbMassClass工程,注意选择芯片。选择自己要的功能如下图:外部是时钟的选择:FSUSB的选择debug口选择UASRT1选择USB IPcore注意这里选择了USBDisk文件系统以及MassStorage Host。总体芯片的配置:细节的配置了:时钟配置USART、USB、USB IPCore配置这里可以修改的,点击对应的模块,在弹出的即可配置。生成代码:点击菜单栏的【project】 ->【Setting】,设置工程环境,弹出如下菜单:【project】 ->【Generate Code】即可生成代码!此代码就集成了枚举U盘过程。具体看代码:定位到此:/*&&*&user&callbak&definition&*/&&&static&void&USBH_UserProcess&&(USBH_HandleTypeDef&*phost,&uint8_t&id)&&{&&&&&&&&/*&USER&CODE&BEGIN&2&*/&&&&switch(id)&&&&{&&&&&case&HOST_USER_SELECT_CONFIGURATION:&&&&&&&&&&&&&&case&HOST_USER_DISCONNECTION:&&&&&&&&&&//printf("user&HOST_USER_DISCONNECTION\r\n");&&&&Appli_state&=&APPLICATION_DISCONNECT;&&&&&&&&&&&&&&case&HOST_USER_CLASS_ACTIVE:&&&&&&&&&&//printf("user&HOST_USER_CLASS_ACTIVE\r\n");&&&&&&&&&&Appli_state&=&APPLICATION_READY;&&&&&&&&&&&&case&HOST_USER_CONNECTION:&&&&&&&&&&//printf("user&connetction\r\n");&&&&&&&&&&Appli_state&=&APPLICATION_START;&&&&&&&&&&&&&&case&HOST_USER_UNRECOVERED_ERROR:&&&&&&&&&&Appli_state&=&APPLICATION_DISCONNECT;&&&&&&&&&&&&&&default:&&&&&&&&&}&&&&/*&USER&CODE&END&2&*/&&}&&改代码就是USB枚举的过程,最后阶段就是&&&&&&Appli_state&=&APPLICATION_READY;这个阶段,这个阶段就可以对U盘的读写啦!!!&&读写U盘程序:if((r=f_mount(&FS,"0",&0))!=&FR_OK)//mount&u盘!&&if(r=f_open(fpr,&USB_UPDATE_FILE,&FA_READ))&!=&FR_OK))&&open里面的文件!剩下就很简单了,就是按照应用层来写读写OK了!&&对于debug&UASRT不多说明,网上很多!&&
关键字:&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
关注eeworld公众号快捷获取更多信息
关注eeworld服务号享受更多官方福利
热门关键词
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

我要回帖

更多关于 如何利用git进行团队 的文章

 

随机推荐