amobbs.com 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
回复: 13

STC15F2K32S2与ATT7022CU SPI通信读取一直是255 引脚与程序如下

[复制链接]
(110579394)

打赏出0元收入0元

发表于 2017-1-6 02:14:55 | 显示全部楼层 |阅读模式
单片机型号 STC15F2K32S2
ATT7022CU与单片机的连接为:SIG--P54;RST--P16;REVP--P10;DOUT--P14;DIN--P13;SCLK--P15;CS--P11.
void        SPI_init(void)            单片机晶振 11.0592MHz
{
        SPDAT = 0;     //数据寄存器清空
        SPSTAT = 0x80 + 0x40;        //状态寄存器清空
        P11=1;           //起始CS拉高
        SPCTL = 0xd4;        //SSIG  SPEN  DORD  MSTR  CPOL  CPHA  SPR1  SPR0
                                //1       1         0          1      0        1       0         0
}

void        SPI_WriteByte(unsigned char out)
{
        P11=0;
        SPSTAT = 0x80 + 0x40;       
        SPDAT = out;
        while(!(SPSTAT & 0x80))        ;
        P11=1;       
}

unsigned char  SPI_ReadByte(void)
{
        P11=0;
        SPSTAT = 0x80 + 0x40;
        SPDAT = 0xff;
        while((SPSTAT & 0x80) == 0)        ;
        SPSTAT = 0x80 + 0x40;        //
        P11=1;
        return (SPDAT);
}
在主函数
        SPI_WriteByte(0X18);

        Set_OverVol=SPI_ReadByte();
        Set_UnderVol=SPI_ReadByte();
        Set_Ratio=SPI_ReadByte();

显示到LCD上
说明:硬件电路没有问题(是已经在运行的产品),LCD显示均是255    LCD显示是好的,已经验证过。发送0x18只是为了调通通信,并不要实际的效果。不知道哪地方需要更改,在此多谢各位大神了。
(110556532)

打赏出0元收入0元

 楼主| 发表于 2017-1-6 08:35:57 | 显示全部楼层
自己顶一下
(110555562)

打赏出0元收入0元

发表于 2017-1-6 08:52:07 来自手机 | 显示全部楼层
要么是延时不够,要么是数据时序不对,就这,用逻辑分析仪看看
(110554693)

打赏出0元收入0元

发表于 2017-1-6 09:06:36 | 显示全部楼层
是不是IO口工作模式没有配置?
(110552102)

打赏出0元收入0元

 楼主| 发表于 2017-1-6 09:49:47 | 显示全部楼层
霸气侧漏 发表于 2017-1-6 08:52
要么是延时不够,要么是数据时序不对,就这,用逻辑分析仪看看

也就是说      这样写是对的?只是配置的问题或者延时的问题?
(110551995)

打赏出0元收入0元

 楼主| 发表于 2017-1-6 09:51:34 | 显示全部楼层
KevinDeng 发表于 2017-1-6 09:06
是不是IO口工作模式没有配置?

也有可能    假设IO口配置是正确的  这几段程序是没问题的吧?
(110464200)

打赏出0元收入0元

 楼主| 发表于 2017-1-7 10:14:49 | 显示全部楼层
再顶一下
(110290889)

打赏出0元收入0元

发表于 2017-1-9 10:23:20 | 显示全部楼层
状态寄存器好像是不用手动去清空的。
(110212748)

打赏出0元收入0元

 楼主| 发表于 2017-1-10 08:05:41 | 显示全部楼层
已搞定   多谢各位
(11857221)

打赏出0元收入0元

发表于 2020-2-22 17:04:28 | 显示全部楼层
怎么搞定的??
(11797951)

打赏出0元收入0元

 楼主| 发表于 2020-2-23 09:32:18 | 显示全部楼层
wkman 发表于 2020-2-22 17:04
怎么搞定的??

我都忘了   依稀记得是SPI时序的问题
(11797809)

打赏出0元收入0元

发表于 2020-2-23 09:34:40 | 显示全部楼层
用软件模拟SPI。。。
(11550508)

打赏出0元收入0元

发表于 2020-2-26 06:16:21 | 显示全部楼层
示波器对一下时序吧,可以定时发。
回帖提示: 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号-1 )

GMT+8, 2020-7-8 22:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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