请教一个与硬件相关的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);
应该是循环程序段的开始和结束标志,具体是置位什么还要看这个函数是怎么写的。
看起来应该是先把置为可写
然后在一段连续地址写一段数据
最后再把写标志置回去
相关问答:
想知道每条指令或函数的系统消耗。比如系统执行int a=0;的开销是多少。有没有类似的文档之类的。不要和我说用什么clock()函数来测试。我想要相关总结好的文档
先反汇编,然后拿着cpu的指令手册查每条指令的时间周期 ......
问一下:
#include <stdio.h>
int main()
{
char x, y, z;
int i;
int a[16];
for(i=0; i<=16; i++)
{
a[i] = 0;
......
你们现在还在用C吗?C有前途吗?
一定,并永远坚持
引用
一定,并永远坚持
顶
有用。
楼主何出此言
楼主来c版问这个问题是踢馆用意吗哈哈
越来越冷是肯定的,完全淘汰倒也没那么容易
c ......
#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", ......