请教一个与硬件相关的C程序
outportb(0x330,2);
for(i=0;i <512;i++)
{
pN=MK_FP(0x0d400,i);
*(unsigned char *)pN=distancedata[i]; // pre_data }
outportb(0x330,0); //end pre
请问下这句话是什么意思?
outportb(0x330,2);我看成AD开始采样的标志,而outportb(0x330,0); 看成结束采样的表示 不知道行不行
求达人指点
不知道你用的是什么芯片。不过很像是屏蔽中断/开中断。一般对io操作时,先对寄存器置位屏蔽中断outportb(0x330,2),然后io操作完后开中断outportb(0x330,0)
只是个人理解
应该跟芯片没什么关系,这个输出是输出到了FPGA里的,再经过fpga控制AD芯片的工作,这里是每一个i输出一个outportb(0x330,0) ,还是等循环完了之后,i=511之后再输出
outportb(0x330,2);
for(i=0;i <512;i++)
{
pN=MK_FP(0x0d400,i);
*(unsigned char *)pN=distancedata[i]; // pre_data }
outportb(0x330,0); //end pre
好像不是每个i输出一个outportb(0x330,0)
晕,搞错了
从程序来看,应该是等循环完了之后,i=511之后再输出 outportb(0x330,0);
outportb(0x330,2)和outportb(0x330,0);
应该是循环程序段的开始和结束标志,具体是置位什么还要看这个函数是怎么写的。
看起来应该是先把置为可写
然后在一段连续地址写一段数据
最后再把写标志置回去
相关问答:
以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......
#include <stdio.h>
#include <graphics.h>
void main()
{
int x0,y0,x1,y1,driver,mode,i;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,&qu ......
最近突然想自己来实现一个五子棋程序,但不知道怎么开始,自己也没学画图形函数,能在控制台下直接写吗>>>?????
控制台?比图形界面更麻烦。
http://search.download.csdn.net/search/%E4%BA%94%E5%AD%90% ......
6月5日消息,XX网站日前评出了10项大势已去的计算机技术。其中,有些技术已经被淘汰,有些即将被淘汰。如著名的Cobol语言,以及IBM的OS/2系统。
以下为XX网站评出的被淘汰的10项计算机技术:
......
#include <stdio.h>
main()
{
int a,b,sum;
a=1;b=2;
sum=a+b;
printf("sum is %d\n");
}
结果是:2367460
为什么?
printf("sum is %d\n", ......