首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教版主MC9S12DJ64的SPI问题

请教版主MC9S12DJ64的SPI问题

我现在用的是MC9S12DJ64单片机,想利用他的内部的SPI模块和外围的一个标准的SPI功能模块进行通讯。
我先用清华的MC9S12DG128的开发写了个测试程序,用示波器可以看到SCK和MOSI有数据输出
然后我移植到自己做的MC9S12DJ64的板子上,板子可以正常工作,外接看门狗都是正常,就是没有SPI数据输出,硬件是没有问题的
我连续换了几个CPU都不行,在其他原来的MC9S12DJ64的单元板上运行此测试程序也无SPI数据输出,
版主能否帮助分析下:(查询方式)

;*********************************************************/ ; SPI功能初始化 ;*********************************************************/ SPI_init: MOVB #$5F,SPI0CR1 ;控制寄存器1 ;bit7_SPIE=1 --允许SPI中断 ;bit6_SPE=1 --允许SPI ;bit5_STIE=1 --允许发送中断 ;bit4_MSTR=1 --主机方式 ;bit3_CPOL=1 --时钟极性选择 ;bit2_CPHA=1 --时钟相位 ;bit1_SSOE=1 --从机选择输出位允许 ;bit0_LSBFE=1 --开始位定义 MOVB #$10,SPI0CR2 ;控制寄存器2 MOVB #$03,SPI0BR ;波特率寄存器 16分频 ;--SPI分频器 ;64倍分频 ;2.457600*1000000/128=38400 RTS
;*********************************************************/ ; SPI发送数据处理程序 ;*********************************************************/ SPI_SEND: SPI1_TXBT2: LDAA SPI0SR ANDA #$20 ;检查发送寄存器是否是空标志 SPTEF STAA FLG1 BNE SPI1_TXBT3 JMP SPI1_TXBT2 ;MOVB #$44,SPI1DR SPI1_TXBT3: LDAB #$55 STAB SPI0DR ;发送SPI数据 SPI_WAIT: LDAA SPI0SR ;中断标志寄存器 ANDA #$80 STAA FLG2 BEQ SPI_WAIT MOVB SPI0DR,SPI_RCVBUF MOVB #$1,SPI_RCVFL1 RTS ;***************************
饿额
返回列表