不是...我没有花半天时间啊...
编译器都指出这个问题了,我跟进去一看spi.init的内部细节知道它初始化成master模式了,然后我一看init_slave就在旁边,那当然一下子就改好了。我一开始会这么写是因为stm32的hal下面spi就只有一个init入口,master还是slave是作为参数传进去的。我只是不熟悉rust版的rp2040_hal的spi的用法,并不是不知道spi的主从关系。我又不是我朋友...他不懂spi我怎么可能不懂嘛...
这里举这个例子是让大家体会到rust对严格约束追求到什么程度,以及这么做能带来什么潜在的好处。spi这里只是举一个容易理解的例子。但凡干工程的都能理解,很多时候修bug可能只要改一个字符,但找到这个字符在哪里才是最难的事情。而rust可以从源头就尽量规避掉这种问题。
【 在 dismoon 的大作中提到: 】
: 这个就看各人看资料的能力了,
: 比如你前面几贴举得例子,因为不用rust,又不看资料,拉了个SPI库函数过来用,结果没有搞明白主从,浪费了半天调试时间
: 而我,花了半天看完资料,代码写完没有发生不工作的情况,没有浪费半天,但是我看资料用了半天,时间一样,但是我搞懂了很多东西,时间差不多,而我变强了
: ...................
--
FROM 121.225.189.*