原创 结构化编程--指向函数的指针(初稿)

2006-11-16 13:39 2172 5 7 分类: MCU/ 嵌入式
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);

   }
注意:这个程序只是我自己敲的,还没进行验证。
PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户51143 2006-12-5 11:52

我说过了,这个只是我自己敲的,还没得到验证。谢谢留言

用户36516 2006-11-16 14:45

jianmin5xin :你在我的BLOG上的图片我看不到.请你再贴一次
相关推荐阅读
用户51143 2006-12-27 14:15
标准的PID处理例程(转载自“漫漫人生路”)
/*==================================================================================================...
用户51143 2006-12-16 23:42
和你们在一起真的很开心
    一个偶尔的机会进入了vc++开发原地,可以说这里面的人都是初学者,虽然是初学,但是我们彼此享受着开发程序代给我们的快乐。我们不知道“高手”这个词代表着什么,也许对我们来说有点遥远,然而在这个漫...
用户51143 2006-12-11 20:50
学习系统开发之一“建立引导式的窗口”
  这个窗口是引导式的,所以,我们在这个窗口里不会添加任何的菜单选项,在进入窗口时,应该提示“现在开始吗”选项如果是“是”,那么就进入我们的系统。   显示你上次的问题,你所在的开发小组,小组成员,你...
用户51143 2006-12-05 12:09
单片机开发程序大全
我这里有单片机试验,带原理图,带C语言,汇编语言的(这里只是很少一部分,如果想要全的,请吧PID控制算法的C语言程序发给我,我会把余下的文件发给你,谢谢)  发到这个邮箱:jianmin5xin@16...
用户51143 2006-11-16 14:00
一个关于单片机库函数编写的问题(原创)
 当你调用一些函数时,为了避免反复复制和粘贴(在这个过程中经常还会导致拷贝错误,并且难以发现错误所在)的问题,我们最好是将经常用的一些函数或者协议编写成库函数,然后在主函数声明一下,就可以随便提取运用...
用户51143 2006-11-16 13:55
关于一个提高效的执行代码(原创)
这么一个问题,假设有两个寄存器m和n(有可能地址不相邻),分别存放着一个16位数值的,高八位和低八位的数值。那么让你将这个十六位数值打印出来,该如何操作?我们通常的做法是:  int a;  a="m...
EE直播间
更多
我要评论
2
5
关闭 站长推荐上一条 /3 下一条