你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
(已公布)12.21 狂欢节问答
[复制链接]
zero99
提问时间:2017-12-21 09:32 /
请点击话题浏览
大家的想法
,今天获得NUCLEO的获得者为:@
lispha
(只要认真参与都会有机会的)
今天从#讨论帖#中挑选了几个话题
(【讨论帖】希望以大的技术方向或思路为主,具体问题可发【求助帖】)
,参加今天活动的小伙伴,
点击下方3个话题帖,并分别在对应帖子中回复说出自己的想法
,从当天最优秀的回答将获得NUCLEO一块。(每周的奖励依然会有)
话题1
:
在单片机上运行app程序
话题
2
:
感觉STM32F107的接U盘导出数据比较难用
话题
3
:
讨论一下STM32编码器接口
评分
参与人数
1
ST金币
+1
收起
理由
lispha
+ 1
第一个问题不能回复了呢~!
查看全部评分
赞
0
收藏
0
评论
25
分享
发布时间:2017-12-21 09:32
举报
请先
登录
后回复
25个回答
wolfgang
回答时间:2017-12-21 22:37:46
a0a.1 32b0c
话题1:在单片机上运行app程序
主要思想
主程序具备IAP功能,能将访问到的BIN文件烧写到SRAM并运行(PC指针运行到该区域);
Bin文件代码在运行完毕后,PC能恢复到主代码的PC栈中的代码继续执行主代码的程序;恢复主程序中断偏移量;
话题2:感觉STM32F107的接U盘导出数据比较难用
2的基本步骤如下:
1、USB要设置为主机模式;
2、读取U盘配置参数区信息动态识别U盘大小
3、根据CSV文件大小判断FATFS文件系统剩余空间是否足够;
4、初始化U盘中Flash(文件系统来做,底层操作可以参考实现)
5、块写文件内容
话题3:讨论一下STM32编码器接口
可不用两个定时器
stm32的每个定时器的通道1和通道2内置了正交编码器模块,可以直接使用。
....
TIM_EncoderInterfaceConfig(ENCODER_TIMER, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);//使用编码器模式3
....
TIM_ICInitStructure.TIM_ICFilter =ICx_FILTER;//选择输入比较滤波器
通过读取TIM1->CNT的值来获取正交编码值了。
赞
0
评论
回复
支持
反对
五哥1
回答时间:2017-12-21 16:12:08
a0a.1 32b0c
现在原子的板子能在系统中运行bin文件,但是不能退出继续运行系统,能不能开发一种类似于nes游戏的格式的程序,这样在系统烧录好之后还能读取sd卡或者其他存储器上的程序来当做系统的一个任务来运行? 或者启动bin程序时启动优先级最高的任务定时检测一个退出按键,然后如果要运行bin文件,把bin文件放在一个优先级次高的任务里,系统其他任务由于bin文件没有提供系统延时就暂停了,如果最高级任务检测到按键,强行退出bin程序任务,在挂起退出键检测任务,系统正常运行
希望大家分享下想法和思路,探讨下可行性
这个问题的回复已经被关闭,在此回复吧。
这个对退出按键的检查是用上升沿还是下降沿?思路上可行,建议画个流程图检测下思路。
赞
0
评论
回复
支持
反对
weiwei4
回答时间:2017-12-21 15:30:21
a0a.1 32b0c
话题1:在单片机上运行app程序
想要这么做还是有办法的
可以把你原来的程序做成类似Bootloader的程序,会自动在SD卡等存储器上查找正确的可执行BIN文件,当找到后,把程序加载到RAM空间进行执行
这样的话,存储地SD卡上的程序在编程时需要将程序定义在RAM中,不然直接使用一般的程序会出错不能正常运行
话题2:感觉STM32F107的接U盘导出数据比较难用
话题3:讨论一下STM32编码器接口
赞
0
评论
回复
支持
反对
涛哥2035
回答时间:2017-12-21 09:52:11
a0a.1 32b0c
今天的话题实战型强,表示都没用过,报个到吧
赞
0
评论
回复
支持
反对
提笔画夕游
回答时间:2017-12-21 10:00:05
a4a.1 32b0c
1.不知道如何解决
2.
http://bbs.21ic.com/icview-211765-1-1.html
3.多个定时器为编码器模式会出现有些编码器不能计数。
赞
0
评论
回复
支持
反对
kimoye
回答时间:2017-12-21 10:02:47
a0a.1 32b0c
第一个问题不能回复了!
点评
zero99
可以了现在
发表于 2017-12-21 16:47
赞
0
评论
回复
支持
反对
jinyi7016
回答时间:2017-12-21 10:37:41
a0a.1 32b0c
第 一个话题都关闭了,无法回复了@@zero999
点评
zero99
现在可以了
发表于 2017-12-21 16:48
赞
0
评论
回复
支持
反对
七哥
回答时间:2017-12-21 11:40:19
a0a.1 32b0c
这个帖子要回复吗?问题都比较专业,得有环境测试
点评
zero99
好吧。。
发表于 2017-12-21 16:48
赞
0
评论
回复
支持
反对
maxtch
回答时间:2017-12-21 13:12:39
a0a.1 32b0c
参加了,但为什么第一个话题帖被锁了?
点评
zero99
现在可以了
发表于 2017-12-21 16:48
赞
0
评论
回复
支持
反对
dzwwzd6699
回答时间:2017-12-21 13:16:22
a0a.1 32b0c
1.定制Bootload,以便可以从sd卡中选取bin文件映射到flash中,类似于iap固件升级,实现不同程序间的切换。
赞
0
评论
回复
支持
反对
风之山谷
回答时间:2017-12-21 16:17:30
a0a.1 32b0c
话题1不能回复。在这里回复了,思路是把一个按键设置成最高级别中断,Bin文件不能超过这个按键的中断,然后当按下这个案件的时候进入中断,把其他中断关闭了,一直等待直到再此按下此按钮才退出中断,同时把关闭的中断打开。
话题2、3都已经提出思路了。
赞
0
评论
回复
支持
反对
jinyi7016
回答时间:2017-12-21 17:44:16
a0a.1 32b0c
已全部回答、参与
赞
0
评论
回复
支持
反对
orima
回答时间:2017-12-21 19:13:02
a0a.1 32b0c
话题1:在单片机上运行app程序
这对单片机提出了高的要求,能够运行系统才行,看来也只有ARM类型的单片机才行.
话题2:感觉STM32F107的接U盘导出数据比较难用
没使用过,可能需要配置些文件吧.
话题3:讨论一下STM32编码器接口
可以按照标准编码器接口来编程使用.
赞
0
评论
回复
支持
反对
wofei1314
回答时间:2017-12-21 19:30:14
a0a.1 32b0c
问题1,可以用IAp的方式解决....
具体的话,自己写一个引导程序,引导程序读其他的若干程序,需要运行那个程序的时候就直接跳转过去运转,需要退出的时候再跳转回引导程序,引导程序可以继续读其他科运行的程序,用户断定后,使用这个IAP.....
对于有外接SRAM或者SDRAM的,可以通过把修改分散加载文件来选择把程序加载到RAM运行
赞
0
评论
回复
支持
反对
slotg
回答时间:2017-12-21 19:41:57
a1024a.1 32b0c
已参加
赞
0
评论
回复
支持
反对
1
2
/ 2 页
下一页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
主要思想
主程序具备IAP功能,能将访问到的BIN文件烧写到SRAM并运行(PC指针运行到该区域);
Bin文件代码在运行完毕后,PC能恢复到主代码的PC栈中的代码继续执行主代码的程序;恢复主程序中断偏移量;
话题2:感觉STM32F107的接U盘导出数据比较难用
2的基本步骤如下:
1、USB要设置为主机模式;
2、读取U盘配置参数区信息动态识别U盘大小
3、根据CSV文件大小判断FATFS文件系统剩余空间是否足够;
4、初始化U盘中Flash(文件系统来做,底层操作可以参考实现)
5、块写文件内容
话题3:讨论一下STM32编码器接口
可不用两个定时器
stm32的每个定时器的通道1和通道2内置了正交编码器模块,可以直接使用。
....
TIM_EncoderInterfaceConfig(ENCODER_TIMER, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);//使用编码器模式3
....
TIM_ICInitStructure.TIM_ICFilter =ICx_FILTER;//选择输入比较滤波器
通过读取TIM1->CNT的值来获取正交编码值了。
希望大家分享下想法和思路,探讨下可行性
这个问题的回复已经被关闭,在此回复吧。
这个对退出按键的检查是用上升沿还是下降沿?思路上可行,建议画个流程图检测下思路。
想要这么做还是有办法的
可以把你原来的程序做成类似Bootloader的程序,会自动在SD卡等存储器上查找正确的可执行BIN文件,当找到后,把程序加载到RAM空间进行执行
这样的话,存储地SD卡上的程序在编程时需要将程序定义在RAM中,不然直接使用一般的程序会出错不能正常运行
话题2:感觉STM32F107的接U盘导出数据比较难用
话题3:讨论一下STM32编码器接口
2.http://bbs.21ic.com/icview-211765-1-1.html
3.多个定时器为编码器模式会出现有些编码器不能计数。
点评
点评
点评
点评
话题2、3都已经提出思路了。
这对单片机提出了高的要求,能够运行系统才行,看来也只有ARM类型的单片机才行.
话题2:感觉STM32F107的接U盘导出数据比较难用
没使用过,可能需要配置些文件吧.
话题3:讨论一下STM32编码器接口
可以按照标准编码器接口来编程使用.
具体的话,自己写一个引导程序,引导程序读其他的若干程序,需要运行那个程序的时候就直接跳转过去运转,需要退出的时候再跳转回引导程序,引导程序可以继续读其他科运行的程序,用户断定后,使用这个IAP.....
对于有外接SRAM或者SDRAM的,可以通过把修改分散加载文件来选择把程序加载到RAM运行