您好!
我尝试 将 SM320F28335GJZMEP 微控制器与外部 ADC AD7091R-4BRUZ 搭配使用。
查看 AD7091R-4BRUZ 的数据表、我认为我需要首先 在 MOSI 上写入0000110000001111b 以写入 ADC 的通道寄存器、然后选择 Ch0、Ch1、Ch2和 Ch3以包含在通道转换序列中。 然后 、我需要在 MOSI 上持续写入000000000000b、以读取 ADC 转换结果寄存器的请求。 (在转换结果寄存器的读取请求之后的下一个转换周期、转换结果寄存器的结果将在 MISO 上发送、其中前3位指示哪个模拟输入通道、最后12位指示转换结果。)
每次我 使用 SPITXBUF 在 MOSI 上发送000000000000b 消息时 、我都会在 SPIFFRx 寄存器中看到 接收 FIFO 缓冲区有一个额外的字、直到达到16字的最大值
0010000000100001b (在我向 MOSI 发送任何读取请求>>接收 FIFO 为空之前)
0010000110100001b ( 在 MOSI 上的第一次读取请求>>接收 FIFO 有1个字之后)
00100010100001b ( 在 MOSI 上的第二个读取请求>>接收 FIFO 有 2个字后)
0010001110100001b ( 在 MOSI 上的第三个读取请求>>接收 FIFO 有 3 个字之后)
。
。
。
0011000010100001b ( 在 MOSI 上的第16个读取请求之后>>接收 FIFO 有 16 个字)
但是、我看不到 SPIRXBUF 发生了变化。 要将数据从接收 FIFO 传输到 SPIRXBUF、我需要做什么?
如果相关、这里是我的所有寄存器值
谢谢、
Kevin