13884|3

62

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

版主,请教一下SPI的NSS控制问题 [复制链接]

版主,请较一下SPI的NSS控制问题,
我现在用STM32F103的SPI1将显示的1K字节(内部定义了一块RAM)用DMA循环的发送给LCD,只发不收,用到SCLK,MOSI,NSS(接LCD的片选),其中要求NSS发SPI发送一个字节过程中拉低,发送结束后置高(自动完成,不要人为的去控制),但我现在的情况是要么NSS一直为低,要么一直为高,怎么初始化SPI都达不到我要的效果(MOSI与SCLK都对的),请帮我分析一下初始化程序,(另外NSS我设置为“复用推挽输出”外面还需要加上接电阻吗,我如果不加就怎么设置都是低)谢谢!
///////(PA4,PA5,PA7)SPI/////
GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_7);//
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;    //复用推挽输出
GPIO_Init(GPIOA,&GPIO_InitStructure);
//////////////////// SPI1 configuration ////////////////////////////
SPI_InitStructure.SPI_Direction = SPI_Direction_1Line_Tx; // SPI设置为单线双向发送
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;       //SPI_Mode_Slave;//SPI_Mode_Master;    // 设置为主SPI
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;   // SPI发送接收8位帧结构
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;         // 时钟悬空低
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;       // 数据捕获于第一个时钟沿
SPI_InitStructure.SPI_NSS = SPI_NSS_Hard;            //SPI_NSS_Soft;//SPI_NSS_Hard;     // NSS由外部管脚管理
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128; // SPI波特率预分频(66M/128 = )
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;     // SPI数据高位在前
SPI_Init(SPI1, &SPI_InitStructure);
SPI_CalculateCRC(SPI1,DISABLE);          //CRC关掉
SPI_BiDirectionalLineConfig(SPI1,SPI_Direction_Tx);     //选择只发模式
SPI_SSOutputCmd(SPI1,ENABLE);          //使能NSS主输出
SPI_Cmd(SPI1, ENABLE);    //打开SPI1功能
////////发送数据/////
void oledWrite(UINT8 ucType,UINT8 *sp,UINT16 leng)
{
    DC_OLED(ucType);
    while((SPI1->SR&0x0080));
    for(;leng>0;leng--)
   {
        SPI_I2S_SendData(SPI1,*sp);
        delay(100);
         while((SPI1->SR&0x0080));
         sp++;
     }
}

谢谢谢谢!!
此帖出自stm32/stm8论坛

最新回复

                                 楼主可以先看看版主推荐的两个贴,应该会有所启发  详情 回复 发表于 2011-2-22 21:58
点赞 关注
 

回复
举报

65

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
STM32的NSS脚是用于区分SPI是工作在主模式还是从模式的,不是用来锁存数据的,所以不能实现你说的功能。

你可以进一步参与这个帖的讨论:SPI 主动模式不能自动 SS脚 片选从脚吗?
此帖出自stm32/stm8论坛
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 楼主可以先看看版主推荐的两个贴,应该会有所启发
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表