梁工
发表于 2024-8-13 14:47:17
nibinxiaoyang 发表于 2024-8-13 12:30
请问,大家有遇到直接下载程序烧录,灯全部亮,然后跑马是啥问题?也在跑马,但是其余的灯全部是亮白色 ...
是不是主频没选好?选24M就可以。
桃花飞舞
发表于 2024-8-20 14:14:09
本帖最后由 桃花飞舞 于 2024-8-20 14:18 编辑
怎么按你这个接,下载后灯带没反应?奇怪我操作不对么?请指教!
梁工
发表于 2024-8-20 15:06:28
桃花飞舞 发表于 2024-8-20 14:14
怎么按你这个接,下载后灯带没反应?奇怪我操作不对么?请指教!
有示波器的话,看一下输出信号。我输出信号是无条件输出的,不可能没信号。用串口下载,下载完成后就直接跑程序了。
桃花飞舞
发表于 2024-8-21 13:29:30
梁工 发表于 2024-8-20 15:06
有示波器的话,看一下输出信号。我输出信号是无条件输出的,不可能没信号。用串口下载,下载完成后就直接 ...
P1.2(或P5.4) P1.3 P1.4 P1.5这几个口我都看了波形,不是高电平就是低电平,没有出现那个ws2812的数据呢!搞不懂咋回事?
梁工
发表于 2024-8-21 13:44:12
桃花飞舞 发表于 2024-8-21 13:29
P1.2(或P5.4) P1.3 P1.4 P1.5这几个口我都看了波形,不是高电平就是低电平,没有出现那个ws2812的数据呢! ...
选24MHz,直接下载HEX文件,P1.3输出的就是驱动信号。
桃花飞舞
发表于 2024-8-22 19:38:29
梁工 发表于 2024-8-21 13:44
选24MHz,直接下载HEX文件,P1.3输出的就是驱动信号。
不知为什么,就是没数据出来,我用的逻辑分析仪,接了p1.2 p1.3 p1.4 p1.5,并且我把这几个管脚连接的电阻都断开了,直接下的hex文件,还是没有波形和数据出来,我怀疑芯片那几个管脚坏了。不然没法解释!
21cnsound
发表于 2024-8-24 08:04:58
===将 MISO 不做其他用途;
===将 MISO管脚 先设置为对外输出0;
===MOSI 发送完成后,对外停止时输出的是 MISO 读到的状态, 0 !
AI8051U不支持这个特性吗?怎么SPI输出完成后MOSI持续高电平呢?
21cnsound
发表于 2024-8-24 08:50:02
21cnsound 发表于 2024-8-24 08:04
===将 MISO 不做其他用途;
===将 MISO管脚 先设置为对外输出0;
===MOSI 发送完成后,对外停止时输出的是...
voidSPI_Config(u8 SPI_speed)
{
P_SW2 |= 0x80; //SFR enable
SPCTL = (SSIG_flag << 7) + (SPEN_flag << 6) + (DORD_flag << 5) + (MSTR_flag << 4) + (CPOL_flag << 3) + (CPHA_flag << 2) + (SPI_speed & 3); //配置SPI
// P_SW1 &= ~(3<<2); //切换到P1.4(SS) P1.5(MOSI) P1.6(MISO) P1.7(SCLK)
P1n_standard(0xF0); //设置为准双向口
// P5n_standard(0x10); //设置为准双向口
P16 = 0; //MISO = 0, MOSI输出完毕保持低电平
P1n_push_pull(Pin5); //驱动WS2812将MOSI设置为推挽输出
}
实际测量,SPI发送间隔中,P1.5和P1.6都是高电平。
梁工
发表于 2024-8-24 11:00:41
21cnsound 发表于 2024-8-24 08:04
===将 MISO 不做其他用途;
===将 MISO管脚 先设置为对外输出0;
===MOSI 发送完成后,对外停止时输出的是...
AI8051U的SPI空闲时输出高电平,所以需要比较器反相一下输出。
21cnsound
发表于 2024-8-24 16:45:52
梁工 发表于 2024-8-24 11:00
AI8051U的SPI空闲时输出高电平,所以需要比较器反相一下输出。
请问,哪些型号的单片机SPI是优化过、支持SPI空闲是输出低电平的?