|
小弟是因为最近做毕设才开始接触芯片方面的问题,前一阵在折腾PCB设计方面的问题在PCB讨论区那边获益匪浅。完全PCB设计那部分任务之后现在忙于程序编程的部分。因为时间比较紧迫所以只能一边做一边学,现在遇到一些问题求教,也许比较基础,望大神莫见怪。
我现在的任务是编写一个GUI(图形用户界面),通过它来控制IO卡固定通道(或者说某几针或者几个bit比较好?):1-17 输出17个bit来控制芯片组(主要是MAXIM5100)。最终目的是通过整个工程来测试某些终端。现在这17个bit的输出值其实是固定的好几十组数值。我不明白的是PC在给出各组数值之间是如何切换的。
17bit的意义:1-8是data,9-10来控制芯片四个输出的地址,11-14代表被测终端的地址,15代表写入(低位0写入),16代表芯片组中两个5100使用哪一个,17代表每个5100芯片的四个输出是否load(低位0load)。那么我在编程的时候要使用芯片生产商提供的library里面的write函数来控制IO卡给出的这17bit数值。例如wtire(17,1)表示IO卡第十七个bit输出1.
我的问题在于:我先给出了一组输出,其中B17=1,现在我要在其他bit数值不变的情况下只改变B1,7=0,输出output,然后再控制B17=0,再改变其他的输入。为了达到这个目的我只需要在代码里面写如下代码就行了么?:
write(17,0)
write(17,1)
write(1,1)
write(2,1)
write(3,0)
........
write(17,0)
write(17,1)
还是说我在改变某些bit之后要给定一定的delay?或者即使我两组输入之间只有一两个bit改变我也得从头到尾重新对17个bit赋值?
这些貌似是微机接口方面的知识?我没学过这门课所以两眼一码黑。厚颜求教了。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|