搜索
bottom↓
回复: 19

【讨论】如何记录系统运行时用户操作记录,且支持PC读写?

[复制链接]

出0入0汤圆

发表于 2016-8-23 18:29:35 | 显示全部楼层 |阅读模式
本帖最后由 xld826 于 2016-8-24 15:50 编辑

项目需要记录用户更改系统设置的时间、参数,支持PC读取和删除记录。
主控暂选STM32FXX,已经有几种方案:
1、ST+FLASH+USART。数据保存在FLASH,PC通过串口发送读取、删除命令操作数据。
2、ST+FLASH+HID。数据保存在FLASH,PC通过USB发送读取、删除命令操作数据。
以上两种方案都涉及到上位机设计,有点麻烦。
3、ST+TF+FAT32。数据以CSV格式保存,用户直接用读卡器读取、删除数据。
4、ST+FLASH+U盘。数据保存在FLASH中,U盘插入时,MCU把FLASH数据以CSV格式存入U盘。
以上两种方案需要用到TF和U盘,增加成本,而且结构上需要增加体积,设计不够隐蔽,也不是很满意。

LZ才疏学浅,在这里抛砖引玉,请坛友围观,拍砖……

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出100入85汤圆

发表于 2016-8-23 18:49:35 来自手机 | 显示全部楼层
选第一种就行了

出100入85汤圆

发表于 2016-8-23 18:50:14 来自手机 | 显示全部楼层
好多驱动器还是用eeprom来做的

出0入0汤圆

 楼主| 发表于 2016-8-23 21:15:47 | 显示全部楼层

要开发上位机,也麻烦。

出0入0汤圆

发表于 2016-8-23 21:17:00 | 显示全部楼层
STM32+FLASH,模拟一个U盘出来。

出0入0汤圆

 楼主| 发表于 2016-8-23 21:54:28 | 显示全部楼层
百果 发表于 2016-8-23 21:17
STM32+FLASH,模拟一个U盘出来。

模拟U盘只能PC读取,单片机无法操作呀。

出0入0汤圆

发表于 2016-8-24 16:40:18 | 显示全部楼层
xld826 发表于 2016-8-23 21:54
模拟U盘只能PC读取,单片机无法操作呀。

你单片机里要搞个FatFS啊,就是写txt文件。
只是插上电脑的时候,你把这块MCU内的FLASH作为MAss Storage的空间。

出0入0汤圆

发表于 2016-8-24 16:40:41 | 显示全部楼层
现在的mbed-os应该都是这么干 的。

出0入0汤圆

发表于 2016-8-25 08:43:00 | 显示全部楼层

+1        

出0入0汤圆

 楼主| 发表于 2016-8-25 11:40:34 | 显示全部楼层
百果 发表于 2016-8-24 16:40
你单片机里要搞个FatFS啊,就是写txt文件。
只是插上电脑的时候,你把这块MCU内的FLASH作为MAss Storage ...

你确定可行?我测过不行。MCU通过FAT32挂载FLASH,再作为Mass  Storage插入PC时,一定要先格式化才行。PC将其格式成FAT32后,MCU 如下操作:
f_mount(fs[1],"1:",1);          //挂载FLASH
res=f_open(&fdst,"1:/测试.csv",FA_CREATE_NEW | FA_WRITE);
printf( "\r\n res %x",  res);
此时res返回值是0x0D,0x0D什么意思呢,FR_NO_FILESYSTEM,                /* (13) There is no valid FAT volume */
意思就是:FLASH磁盘,FAT文件系统错误,重新格式化FLASH
那么又要格式化,瞎搞了

出0入0汤圆

发表于 2016-8-25 13:46:30 | 显示全部楼层
xld826 发表于 2016-8-25 11:40
你确定可行?我测过不行。MCU通过FAT32挂载FLASH,再作为Mass  Storage插入PC时,一定要先格式化才行。PC ...

你测得也太快了吧。
这样的程序很多人有公开啊,搜索“stm32 flash u盘”找找资料吧。

出0入0汤圆

 楼主| 发表于 2016-8-25 14:13:40 | 显示全部楼层
百果 发表于 2016-8-25 13:46
你测得也太快了吧。
这样的程序很多人有公开啊,搜索“stm32 flash u盘”找找资料吧。 ...

这个早就测过。我直接给你发一份好了。


你是想当然的吧?把FLASH 做成FAT32系统,PC能读写,MCU也能读写。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-8-25 20:49:29 | 显示全部楼层
xld826 发表于 2016-8-25 14:13
这个早就测过。我直接给你发一份好了。

这不是我想当然的,是看到网友做好的例程。
要么就是我说的不是你想要的,要么就是你直接拿的程序不适合你现在的开发环境。

出0入0汤圆

发表于 2016-8-25 21:48:40 | 显示全部楼层
xld826 发表于 2016-8-25 14:13
这个早就测过。我直接给你发一份好了。

过两天我也试试,看看能不能够在MCU端写数据。

出0入0汤圆

 楼主| 发表于 2016-8-26 16:33:13 | 显示全部楼层
百果 发表于 2016-8-25 21:48
过两天我也试试,看看能不能够在MCU端写数据。

感谢帮忙,等你好消息!!!

出0入0汤圆

发表于 2016-8-29 11:45:29 | 显示全部楼层
像这种串口的上位机,挺多开源的吧,稍微改下就能用

出0入0汤圆

 楼主| 发表于 2016-8-29 17:06:17 | 显示全部楼层
heitu103 发表于 2016-8-29 11:45
像这种串口的上位机,挺多开源的吧,稍微改下就能用

多谢提醒

出0入0汤圆

发表于 2016-8-29 17:25:05 | 显示全部楼层
参考一些离线下载器,插上电脑是个1MB的U盘。里面一个txt文档,里面就是参数=xxx这样的格式,例如烧写的文件=xxx.hex。修改这些参数就行

出0入0汤圆

 楼主| 发表于 2016-9-1 13:41:59 | 显示全部楼层
百果 发表于 2016-8-25 21:48
过两天我也试试,看看能不能够在MCU端写数据。

兄弟可有测试?有什么疑问可以探讨下

出0入0汤圆

 楼主| 发表于 2017-3-22 22:13:25 | 显示全部楼层
百果 发表于 2016-8-24 16:40
你单片机里要搞个FatFS啊,就是写txt文件。
只是插上电脑的时候,你把这块MCU内的FLASH作为MAss Storage ...

兄弟试了吗?一直等你结果呢。

我分析了下,也不知道对不对,按照你说的原理,可以分两个步骤
1、STM32+FLASH虚拟U盘时:PC通过USB读写txt数据原理->PC+USB+SCSI命令读写FALSH数据
2、STM32+FAT32+FLASH:STM32通过文件系统读写txt原理->STM32+Fatfs module读写FLASH数据
这两个步骤中应用层和存储介质的通信方式都不一样,怎能实现“单片机里要搞个FatFS啊,就是写txt文件。只是插上电脑的时候,你把这块MCU内的FLASH作为MAss Storage的空间。
所以你说的方案不可行。请指教!


回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 00:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表