SPI时钟极性问题
CPOL设置为0,然后使能SPI,SCK一直为高。试了2片都这样,用的是ATMEGA64A,有遇到过的吗? {:3_48:}找到原因了...先要设置I/O口再去设置SPI就好了!求科普 没遇到,你的程序有问题。 CPOL的设置 不影响SCK的输出的只是 数据的 输出和输入的时钟沿不一样。 kebaojun305 发表于 2015-4-1 17:02CPOL的设置 不影响SCK的输出的只是 数据的 输出和输入的时钟沿不一样。
主机模式SCK设置为输出。CPOL设置为低的时候SCK应该空闲时为低,但是我一使能SPI,SCK的引脚就为高这是正常的吗? Hhhhhhhh 发表于 2015-4-1 17:09
主机模式SCK设置为输出。CPOL设置为低的时候SCK应该空闲时为低,但是我一使能SPI,SCK的引脚就为高这是正 ...
那你设置CPOL为高的时候是什么情况。 kebaojun305 发表于 2015-4-1 17:13
那你设置CPOL为高的时候是什么情况。
SCK的引脚也是输出为高... 你是不是没有打开 SPI模块。 要发送的时候才会翻转,你试试置1看看是否是变低 而且是主模式时钟才会输出,不知道你问的是时钟没有翻转还是时钟是高 时钟哪里不对吧 kebaojun305 发表于 2015-4-1 17:24
你是不是没有打开 SPI模块。
SPI模块?是外设吗,这初始化就不对跟外设没关系吧。代码贴上来
ldi r16,0b11010000 ;SPI中断使能、SPI使能、主机00模式、4分频
out spcr,r16
clr r16
sts spsr,r16
sbi ddrb,ddb2 ;MOSI设置为输出
sbi ddrb,ddb1 ;SCK设置为输出
PB1(SCK)引脚是正常,但是一初始化SPI就一直为高 10xjzheng 发表于 2015-4-1 18:18
而且是主模式时钟才会输出,不知道你问的是时钟没有翻转还是时钟是高
主机模式,CPOL设置为0但是空闲时SCK还是为高 没有用过,目测是没有配置好SPI外设
Hhhhhhhh 发表于 2015-4-1 18:40
SPI模块?是外设吗,这初始化就不对跟外设没关系吧。代码贴上来
都啥年代了您还在汇编! steaven2000 发表于 2015-4-1 19:13
都啥年代了您还在汇编!
汇编很LOW吗?我不觉得 Hhhhhhhh 发表于 2015-4-1 19:17
汇编很LOW吗?我不觉得
那就呵呵了。 steaven2000 发表于 2015-4-1 19:19
那就呵呵了。
好走不送{:smile:}
页:
[1]