LabVIEW烧写8位MCU
本帖最后由 learningWolf 于 2010-10-30 15:06 编辑如何在一块8位MCU的FLASH闪存区一地址上写入数据?比如:要在E0F5地址上写入CD。
条件:只能用PC的串口;
如何定位MCU中的地址?
请知道的朋友们不吝指点一二
用I2C写"ADDRESS+DATA"可以做到;如果不用I2C,用什么VI和方法也可以实现?
这种问法不对。不同的芯片烧写办法不一定公开,这是做不到的。除非MCU厂商开放通讯协议。否则不用考虑。 回复 orienter 的帖子
好多谢朋友关注!
现在面向低端应用的MCU(比如8位)很大部分都是开放式接口,阿拉问的这款芯片型号是:MC68HC908EY8,朋友可以当其是公开协议,再请给点建议。
这样就要看它通讯协议了,支不支持单字节寻址,据我所知,这种很多是FLASH要整片擦除,如果是这种情况,你需要全部读出来,再修改单个值后再全部重写回去,就用VISA write 和visa read来回操作写指令读数据。 回复 orienter 的帖子
第一次尝试PC口烧录IC,还请达人耐心下忙。
对的!
现在我感到的难点就是:这地址改如何定位?VISA Write/Read vi 怎么定位器件地址?
我要从地址E000开始,顺序写入512 BYTES数据,请问我该如何做?
能用LV写个大概吗?
回复 learningWolf 的帖子
朋友们给点建议啦...
自己顶一下!
这个单片机没有下载器吗? 一般IC厂商都给出了下载器, 可以用它下载EEPROM. 在你自己的程序中可以调用它来达到更新某些寄存器的值, 先全部读出, 部分修改后再写入, 这种方法一般是整个Page写入的. 我做过Atmel和Microchip的.
另外一种方法是普通的I2C的方法. I2C的方法就是把它当作是普通的I2C器件, 你采用I2C的方法写就OK了. 这个论坛上有相关的帖子, 可以看看. 具体到这款IC, 我不清楚它是否可以被电路的其它部分视作是是普通的I2C器件(EEPROM).
Labc 本帖最后由 labc 于 2010-10-28 22:59 编辑
回复 learningWolf 的帖子
公司舍得花钱的话, 也可以买个USB转I2C的转换器, 厂家会提供现成的dll或vi给你用.
低成本的话, 去买个几十块钱的并口扩展卡. 请看我前面给出的链接, 支持自己定义并口的地址.
祝你搞定它!
Labc
回复 labc 的帖子
我的并口8个数据位都用来控制8个继电器了,看来只有买个转换器了。
Out Port.vi 和 In Port.vi 仅支持本计算机的地址寻址吗?不太确定。
我的并口应用就是以这两个VI为基础的。
Anyway,好多谢 "labc" 的热心回复!
回复 labc 的帖子
多谢!
可以用I2C来实现的,我的PCB板已经成型了,如果没有另外的办法,那看来只有再买个转换器了。
但多少还有点不甘!
我就不相信LV中没有VI可以操作外围器件的地址的。“VISA”->“高级VISA"->"寄存器访问”中的VI可以做到吗?有没有朋友用过这里面的VI的,可以发个例子上来吗?
这里面的VI是只针对计算机的地址的吗?能不能也用来操作外围器件的地址?如果能,大致PROGRAM BLOCK能贴个上来吗?感谢!
本帖最后由 labc 于 2010-10-27 21:04 编辑
哦, VISA不能直接操作MCU的寄存器呀.
涉及到底层的话, 只能用In Port.vi和Out Port.vi去读写并口了.
你倒是可以借用电脑的并口来模拟I2C协议, 一个简单的转换电路就行了. 我曾经在论坛上放过并口转I2C的VI. 你可以直接用的.
Labc
路过,学习!
页:
[1]