智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2856|回复: 6
打印 上一主题 下一主题

[编程类] 飞思卡尔XS128的AD接口能否作为普通的I/O口,

[复制链接]

1

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
21
威望
15
贡献
6
兑换币
5
注册时间
2015-9-5
在线时间
0 小时
跳转到指定楼层
1#
发表于 2015-9-5 19:38:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
飞思卡尔XS128的AD接口能否作为普通的I/O口,用做阴极数码管的段选,我程序中,数码管没有读书?求解程序:
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

#define CONT4 PTP_PTP5
#define CONT4_dir DDRP_DDRP5
#define DATA PT1AD0
#define DATA_dir DDR1AD0

#define LEDCPU PORTK_PK3
#define LEDCPU_dir DDRK_DDRK3

byte shuma[20]={0x3f,0x06,0x5b,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,       //0~9对应的段码
                0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x60,0x78,0x00};      //0~9后加小数点对应的段码

unsigned int i;

/*************************************************************/
/*                      初始化端口                           */
/*************************************************************/
void INIT_port(void)
{
  CONT4_dir = 1;
  CONT4 = 1;

  DDR1AD0=0XFF; //定义为输出
  ATD0DIEN=0xffff; //ATD Digital Input Enable
  RDR1AD0 = 0x00;
}

/*************************************************************/
/*                        延时函数                           */
/*************************************************************/
void delay(void)
{
unsigned int i,j;
for(j=0;j<10;j++)
for(i=0;i<60000;i++);
}

/*************************************************************/
/*                         主函数                            */
/*************************************************************/
void main(void) {
  DisableInterrupts;
  //INIT_PLL();
  INIT_port();
  LEDCPU_dir=1;
  LEDCPU=0;
  EnableInterrupts;

  for(;;)
  {
    for(i=0;i<10;i++)
    {
        DATA = shuma;       //循环显示数字
        delay();
    }
  
  }
}
请问问题出现在哪?




回复

使用道具 举报

6

主题

1037

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
9108

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
4514
贡献
2400
兑换币
2952
注册时间
2014-7-18
在线时间
1097 小时
毕业学校
合肥工业大学
2#
发表于 2015-9-5 21:24:35 | 只看该作者
AD口是可以作为普通IO使用的。
DATA = shuma 赋值数组名是什么意思
回复 支持 反对

使用道具 举报

16

主题

427

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4712
威望
2305
贡献
1509
兑换币
1500
注册时间
2014-6-29
在线时间
449 小时
3#
发表于 2015-9-6 00:05:44 | 只看该作者
当然可以啊
回复 支持 反对

使用道具 举报

14

主题

220

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2024
威望
1060
贡献
610
兑换币
688
注册时间
2015-8-13
在线时间
177 小时
毕业学校
中计大
4#
发表于 2015-9-6 08:39:10 | 只看该作者
可以啊,不过好像只能作为输入不能输出
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
21
威望
15
贡献
6
兑换币
5
注册时间
2015-9-5
在线时间
0 小时
5#
 楼主| 发表于 2015-9-6 08:43:46 | 只看该作者
支点305 发表于 2015-9-5 21:24
AD口是可以作为普通IO使用的。
DATA = shuma 赋值数组名是什么意思

shuma是一个数组,即要求显示的数字,DATA是段选,DATA=shuma这一个是让数码管显示指定的数字,但是我这个程序好像有问题,不能位选,同时也不能正常显示数字,请问是怎么回事?对AD口的定义对吗?当AD口作为普通I/O口,需要其他命令限定吗?
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
21
威望
15
贡献
6
兑换币
5
注册时间
2015-9-5
在线时间
0 小时
6#
 楼主| 发表于 2015-9-6 08:45:31 | 只看该作者
YMH_smartcar 发表于 2015-9-6 08:39
可以啊,不过好像只能作为输入不能输出

XS128的AD口是可以是可以作为普通I/O口的。可以输出的。。但要对其操作说明
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
21
威望
15
贡献
6
兑换币
5
注册时间
2015-9-5
在线时间
0 小时
7#
 楼主| 发表于 2015-9-6 08:46:16 | 只看该作者

对于我这个程序具体怎么操作?可以告诉我吗?谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 03:26 , Processed in 0.060679 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表