看 SDK, 里面有硬件 SPI 的, 但是主最多只能干到 20, 从可以用 hspi.
看 SDK, 里面有硬件 SPI 的, 但是主最多只能干到 20, 从可以用 hspi.
是否设置: hpwm. Init. OutMode = PWM_OUT_MODE_INDEPENDENT; //独立通道输出
直接读写某一位就行.
异常抛出一般是你内存出问题了, 你看看 你的参数中用的内存有没有越界之类的. 注意 IIC 接收数据的存放问题
有 nop
#include "wm_hal. h"
#include "assert. h"
//160MZH 53 个 nop 就是 1us
//240Mhz 80 个 nop 就是 1us
//可以实现 1ms 以下的延时, 多了的 就不要用了. 不准.
//5u 以下的延时会存在误差 注意.
static void Delay_Us (uint8_t freq, uint32_t time)
{
uint32_t i;
uint16_t num = 90;
if (time 1000)
{
printf ("delay time is too lager than 1000, please use HAL_Delay () \r\n") ;
}
switch (freq)
{
case 240: num = 80; break;
case 160: num = 53; break;
default: printf ("delay input freq err. . . default set 240MHZ us time \r\n ") ; break;
}
for (i = 0; i (num) *time; i++)
{
__NOP () ;
}
}
我来回答第二个问题: 我当时遇到过. 为 0 后 PWM 必须要重新 start, 因此可以这样做:
PWM 的配置的 IO 是浮空.
建议直接判定为灌水@isme
这种问题我建议直接判定为灌水@isme
说起智能小灯那就非常棒了: 参考文章 (有完整工程)
https: //blog. csdn. net/qq_37280428/article/details/124109497
流程图:
5v 分压成 2. 5 R1 和 R2 可以取相同的阻值, 比如 10k 那就是平均分 2. 5v 和 2. 5v.
. . . .
但是如果严格要求 2. 4v 以下那你可以取 3: 2. 及 3k 和 2k
ADC 测量的是电压, 不能只接 NTC, 找了一张图你可以参考:
这样接你读出来的 adc 电压 = VCC_3V-V (ntc) . 你还需要找到 NTC 电阻的电压和温度的关系, 进而得出电压.
9 位 SPI. 这
有 SPI 驱动的 tft 可以参考一下:
https: //blog. csdn. net/qq_37280428/article/details/121729034
问 w806 硬件 SPI 主从机怎么使用