风之山谷
发表于 2017-12-21 16:17:30
话题1不能回复。在这里回复了,思路是把一个按键设置成最高级别中断,Bin文件不能超过这个按键的中断,然后当按下这个案件的时候进入中断,把其他中断关闭了,一直等待直到再此按下此按钮才退出中断,同时把关闭的中断打开。
话题2、3都已经提出思路了。:)
jinyi7016
发表于 2017-12-21 17:44:16
已全部回答、参与
超級稻草人
发表于 2017-12-21 19:13:02
话题1:在单片机上运行app程序
这对单片机提出了高的要求,能够运行系统才行,看来也只有ARM类型的单片机才行.
话题2:感觉STM32F107的接U盘导出数据比较难用
没使用过,可能需要配置些文件吧.
话题3:讨论一下STM32编码器接口
可以按照标准编码器接口来编程使用.
wofei1314
发表于 2017-12-21 19:30:14
问题1,可以用IAp的方式解决....
具体的话,自己写一个引导程序,引导程序读其他的若干程序,需要运行那个程序的时候就直接跳转过去运转,需要退出的时候再跳转回引导程序,引导程序可以继续读其他科运行的程序,用户断定后,使用这个IAP.....
对于有外接SRAM或者SDRAM的,可以通过把修改分散加载文件来选择把程序加载到RAM运行
slotg
发表于 2017-12-21 19:41:57
已参加 :D
xuguomin
发表于 2017-12-21 19:50:50
签到签到
the_newbie
发表于 2017-12-21 19:56:28
三个问题感觉有点难,对于我这种菜鸟来讲,只能静等大神了,慢慢学习吧
nyszx
发表于 2017-12-21 20:00:01
不用在这里发帖了吗
yangjiaxu
发表于 2017-12-21 20:10:49
成功参加啊 嘿嘿 但是有的真心不会啊
wolfgang2015
发表于 2017-12-21 22:37:46
话题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的值来获取正交编码值了。