2019-07-20 07:48发布
xiaoff 发表于 2018-5-30 15:18 你对这个函数理解的不太对。uint16_t DeTxBuffer[1] 是指DeTxBuffer所存储的数据是16bit,而非D ...
简单的旅行 发表于 2018-5-31 10:06 谢谢您的解答,你的意思是只要指针的地址位(8位)正确,具体里面装多大的数据(16 or8位)无所谓,对吧 ...
屋脊雀 发表于 2018-5-18 10:17 指针是8位的?还是说指针指向的数据是8位的?
屋脊雀 发表于 2018-6-1 12:11 1 我认为我没有理解错。 uint16_t DeTxBuffer[1] 是指DeTxBuffer所存储的数据是16bit,而非DeTxB ...
最多设置5个标签!
谢谢您的解答,你的意思是只要指针的地址位(8位)正确,具体里面装多大的数据(16 or8位)无所谓,对吧?
装什么数据确实无所谓,程序又不知道你要做什么,
但是发送什么数据出去,你有所谓吧?
我要发U16,程序给你发个U8出去,不能无所谓。
指针指向的数据是8位的
如果你的DataSize = SPI_DATASIZE_16BIT;而你的数据是8bit,那么16个数据传输的时钟仅仅有8个有效,其余的会用0进行补齐。
如果你的DataSize = SPI_DATASIZE_8BIT;而你的数据是16bit,依然可以发送,但是时钟因为被设定成8个,所有你只能分两次发送结束。除非溢出时间被你设置的太短,传输被中断。具体可以查看函数库中
static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
对此有所描述。
一周热门 更多>