完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
SpiaRegs.SPICCR.all = 0x07;///进入初始状态,数据在上升沿输出,自测禁止,8位数据模式
/*操作控制寄存器设置*/ SpiaRegs.SPICTL.all = 0x06;///正常的SPI时钟方式,主动模式,使能发送,禁止中断 /*波特率的设置*/ SpiaRegs.SPIBRR = 0x1D;//波特率 = LSPCLK/(SPIBRR+1)= 30/30 = 1M SpiaRegs.SPICCR.all = 0x8a; //退出初始状态 SPICCR的配置控制寄存器: SpiaRegs.SPICCR.bit.RESET = 0; //初始化SPI操作标志到复位状态 SpiaRegs.SPICCR.bit.CLKPOLARITY = 0; //设置上升沿输出数据,下降沿输入数据 SpiaRegs.SPICCR.bit.SPILBK = 0; //禁止SPI回送模式 SpiaRegs.SPICCR.bit.SPICHAR = 7; //一次移入或移出8个字符 SPICTL的操作控制寄存器: SpiaRegs.SPICTL.bit.OVERRUN = 0; //禁止溢出中断 SpiaRegs.SPICTL.bit.CLK_PHASE = 0; //不延时相位 SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1; //设置为主机 SpiaRegs.SPICTL.bit.TALK = 1; //使能主机/从机发送使能位 SpiaRegs.SPICTL.bit.SPIINTENA = 0; //不使能SPI中断位 SpiaRegs.SPIBRR = 0x1D; //设置波特率=LSPCLK/(SPIBRR+1)=30MHz/30=1MHz SpiaRegs.SPICCR.bit.RESET = 1; //SPI准备或接受下一个字符 SpiaRegs.SPICCR.bit.SPICHAR = 10; //一次移入或移出11个字符?????????????????????????? 问一、在板子上调试的时候发现只有发送SpiaRegs.SPICCR.bit.SPICHAR = 10; 即发送字符长度为11位的时候代码才能得到正确的结果,但数码管所需要得到的数据只有8位啊。 问二、板子上数码管使用的是74HC595D芯片,芯片的datesheet上写的是在时钟上升沿输入串行数据,从低位开始 在时钟下降沿输出串行数据。 当我改成SpiaRegs.SPICCR.bit.CLKPOLARITY = 1; //设置下降沿输出数据,上升沿输入数据 得到的结果也不对 只有SpiaRegs.SPICCR.bit.CLKPOLARITY = 0; //设置上升沿输出数据,下降沿输入数据 才得到正确的结果 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验
423 浏览 0 评论
数字信号处理实验操作教程:3-3 mp3音频编码实验(AD7606采集)
1299 浏览 0 评论
嵌入式DSP教学实验箱操作教程:2-20 数模转换实验(模拟SPI总线输出电压值)
1252 浏览 0 评论
目前在2837x系列用的最多的、性能最好、性价比最高的是哪一款?
1016 浏览 0 评论
国产嵌入式DSP教学实验箱_操作教程:22-AD采集DA输出实验(采集输出正弦波)
2207 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 11:52 , Processed in 0.557246 second(s), Total 66, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号