你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
主要思想
主程序具备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运行