查看: 2086|回复: 2

[S12] MC9S12DG256B的SPI通信疑问

[复制链接]

该用户从未签到

2

主题

4

帖子

0

新手上路

Rank: 1

积分
16
最后登录
1970-1-1
发表于 2014-9-17 08:24:41 | 显示全部楼层 |阅读模式
本帖最后由 深海鱼油 于 2014-9-17 08:38 编辑

MC9S12DG256B的SPI连DAC5618,通信已经调通。
我现在的程序结构如下:
main()
{
  SPI_init();
  for(;;)
  {
    SPI_send();
  }
}
SPI_init()是SPI寄存器初始化:SPI1CR1=0x58;SPI1BR=0x22;
然后我现在要把这个程序加进我的大的控制程序里,实现DA输出的功能。
但是大程序里同时还有AD转换的程序,用的是AD7888,也是SPI通信,而AD7888的SPI初始化设置与5618是不同的。
我现在是写了两个函数,AnalongToDigital()和DigitalToAnalog()。
硬件上没有问题。这块板子以前用过其他程序,用GPIO做片选,每个函数里先把片选拉低,再传数据,传完就拉高。
然后把他们各自的SPI初始化设置放在这两个函数里开始的地方。
也就是在上面的小程序里把SPI_init()的内容放到SPI_send()里。
但是AD7888这样做没问题,5618这么做以后就不行了,没有DA输出。
拿上面的小程序把SPI_init()的内容放到SPI_send()里也是不行,只有拿出来放在main函数里才行。
不知道像这种多SPI设备,设置又不同的情况该怎么办。
现在就差这点我的大程序就调通了。求教!

我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-10-9 09:26:23 | 显示全部楼层
你好,楼主!
这么奇怪啊,你要先单独调试5618看看。
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-10-9 09:26:28 | 显示全部楼层
还有一点楼主!
以后有关飞思卡尔产品的问题,请在【飞思卡尔FAE线上技术支持 】板块提出。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-25 08:43 , Processed in 0.083985 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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