1.对一个DA转换器进行传递数值,DA转换的地址在0x2000,如果用MOVX对其操作,如何操作?
用MOVX操作的话,将数据类型定义为xdata,然后_at_即可
方法有三种:
(1)
void DAchange(unsigned char i)
{
xdata m_at_0x2000;
m="i";
}
(2)
include "absacc.h"
void DAchange(unsigned char i)
{
XBYTE[0x2000]=i;
}
(3)
void DAchange(unsigned char i)
{
xdata unsigned char *p;
p=(xdata unsigned char *)0x2000;
*p="i";
}
2.利用指向函数的指针,可以进行结构化编程。
int max(int a,int b)
{
return(a>=b?a:b);
}
int min(int c,int d)
{
return(a>=b?b:a);
}
int process(int m,int n,int(*f)())
{
return (f(m,n));
}
main()
{
int max(int a,int b);
int min(int c,int d);
process(int a,int b,(*)f());
int a,b,j,k;
scanf("put:%d,%d",&a,&b);
j="process"(a,b,max());
k="process"(a,b,min());
printf("%d,%d",j,k);
}
注意:这个程序只是我自己敲的,还没进行验证。
用户51143 2006-12-5 11:52
我说过了,这个只是我自己敲的,还没得到验证。谢谢留言
用户36516 2006-11-16 14:45