
STM32有通过SPI实现对biss.c编码器的操作案例么? 或者有内嵌了这部分功能的MCU |
biss c可以用spi外设来读取,但是也并不是那么直接了当。mcu的spi通常都是根据要读取的位长发送固定个数的时钟,但是biss-c的协议比较特别,针对固定位数的数据,它每一帧总的时钟个数也可能是不同的,它总是在收到start bit之后发送固定个数的时钟,而在start bit之前的时钟个数可变,取决于线长,驱动芯片的时延,以及从机计算crc的时间不同而变化;其次,spi的位数通常是字节,半字或者全字长,而biss-c的从机的位长则没这个限制,spi需针对非标准长度的做处理;最后,在高速时钟的通信中,需要考虑位延时对数据移位的影响,比如,约定下降沿读数有可能变成上升沿读数,根本原因是biss-c是长距离通信,主机发出的时钟沿跟从机返回的数据沿有可能错半拍,这样导致读数错误。整个实现需要spi,定时器等的严密设计。 |
32bit SPI使用DMA 初次不触发SPI中断 第二次发送不触发DMA中断
STM32c031c6 SPI Slave Transmit Only模式的疑问
stm32的同一个定时器,不同的通道,可以不同时的输出pwm波形吗
USB Device + FatFS + 外挂 flash
STM32F103C8T6 TIM1 CH2输入捕获触发DMA的问题
STM32F103在使用HAL库1.8.5版本使用串口中断发送数据的时候,会出现huart2->TxXferCount为0了,但是并没有清除掉TXEIE中断也没有使能TCIE中断,而且huart2->gState已经被置为HAL_UART_STATE_READE,导致了一直在进入TXEIE中断,主循环都无法执行
STM32的低功耗模式
四轴飞行器
不清楚为什么正点原子的例程,想添加SCB添加到watch1却是无效的(在core_cm3.h定义的寄存器都不可以),但是可以添加GPIOA并且有效(stm32f10x.h定义的寄存器都可以)
不知道为什么用正点原子的开源例程硬件仿真时。想观察寄存器的值,所以添加到watch1观察,不清楚为啥SCB,NVTC等都添加了但是无效,但是GPIOA却又可以。