完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
求助大神,我在练习SPI过程中遇到一些问题。28335通过SPI给一位数码管发数(中间是74HC595)下边是代码,只发了一个数,但是SPIclk没有信号,数据根本没有发出去,是什么问题导致的呢
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_Examples.h" //const char table[16]={0x0c00,0xf900,0xA400,0xB000,0x9900,0x9200,0x8200,0xF800,0x8000,0x9000}; //int i; void spi_intial()//SPI初始化 { SpiaRegs.SPICCR.all=0x0047;//使SPI处于复位模式,下降沿,8位数据 SpiaRegs.SPICTL.all=0x0006;//主控模式,一般时钟模式 //关闭SPI中断 SpiaRegs.SPIBRR=0x007F;//配置波特率 SpiaRegs.SPICCR.all=SpiaRegs.SPICCR.all|0x0080;//退出复位状态 EALLOW; GpioCtrlRegs.GPBMUX2.bit.GPIO54=1;//设置通用引脚为SPI引脚 GpioCtrlRegs.GPBMUX2.bit.GPIO56=1; EDIS; } void gpio_init() { EALLOW; GpioCtrlRegs.GPBMUX2.bit.GPIO57=0;//GPIO27设置为一般I/O,输出 GpioCtrlRegs.GPBDIR.bit.GPIO57=1; EDIS; GpioDataRegs.GPBDAT.bit.GPIO57=0;//GPIO57接口为74HC595D锁存信号 } void main(void) { unsigned long int k=0; InitSysCtrl(); DINT; IER=0x0000; IFR=0x0000; spi_intial(); gpio_init(); //spi_fifo_init(); while(1) { //for(i=0;i<8;i++) //{ for(k=0;k<10;k++){} GpioDataRegs.GPBDAT.bit.GPIO57=0; SpiaRegs.SPITXBUF=0x3f00; while(SpiaRegs.SPISTS.bit.INT_FLAG!=1){}//等待发送 SpiaRegs.SPIRXBUF=SpiaRegs.SPIRXBUF;//清零 //} GpioDataRegs.GPBDAT.bit.GPIO57=1; for(k=0;k<10;k++){} } } |
|
相关推荐
2个回答
|
|
用的是硬件还是软件SPI呢
|
|
|
|
你看下你的ADC芯片的输入时钟对不对,如果输入时钟没问题的话SCLK不对检查下芯片跟DSP的地线是否共地
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验
408 浏览 0 评论
数字信号处理实验操作教程:3-3 mp3音频编码实验(AD7606采集)
1299 浏览 0 评论
嵌入式DSP教学实验箱操作教程:2-20 数模转换实验(模拟SPI总线输出电压值)
1193 浏览 0 评论
目前在2837x系列用的最多的、性能最好、性价比最高的是哪一款?
963 浏览 0 评论
国产嵌入式DSP教学实验箱_操作教程:22-AD采集DA输出实验(采集输出正弦波)
2148 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-18 12:04 , Processed in 0.820603 second(s), Total 69, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号