Nordic SPI[不能直接发送代码区的数据][NRF52810发送长度的限制]

不能直接发送代码区的数据

这里实际测试到如果spi_write函数直接发送pic数组就会复位,但是如果先把pic拷贝到内存,然后发送内存就没有问题:
在这里插入图片描述
跟踪代码看到在这里做了限制:
在这里插入图片描述
这就坑爹了,牺牲了刷新速度!

NRF52810发送长度的限制

nrf52810规格书中长度的定义为TXD.MAXCNT定义如下(https://docs.nordicsemi.com/bundle/ps_nrf52810/page/spim.html):
在这里插入图片描述
从这里看到最大长度为0x3fff(1023)
spi_write最终调用的函数为nrf_drv_spi_transfer该函数定义如下:
ret_code_t nrf_drv_spi_transfer(nrf_drv_spi_t const * const p_instance,
uint8_t const * p_tx_buffer,
uint8_t tx_buffer_length,
uint8_t * p_rx_buffer,
uint8_t rx_buffer_length)
可以看到这里长度定义uint8_t,这个是不合理的并不能够发挥最大的长度,所以这里改成uint16_t,但是调用的时候要注意不要超过0x3fff这个长度!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值