MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / rt_soft_spi_init

Function rt_soft_spi_init

components/drivers/spi/dev_soft_spi.c:247–265  ·  view source on GitHub ↗

Soft SPI initialization function */

Source from the content-addressed store, hash-verified

245
246/* Soft SPI initialization function */
247int rt_soft_spi_init(void)
248{
249 rt_size_t obj_num = sizeof(spi_obj) / sizeof(struct rt_soft_spi);
250 rt_err_t result;
251
252 for (rt_size_t i = 0; i < obj_num; i++)
253 {
254 rt_memcpy(&spi_obj[i].ops, &soft_spi_ops, sizeof(struct rt_spi_bit_ops));
255 spi_obj[i].ops.data = (void *)&soft_spi_config[i];
256 spi_obj[i].spi.ops = &soft_spi_ops;
257 spi_obj[i].cfg = (void *)&soft_spi_config[i];
258 spi_soft_pin_init(&spi_obj[i]);
259 spi_obj[i].spi.ops->delay_us = soft_spi_config[i].timing_delay;
260 result = rt_spi_bit_add_bus(&spi_obj[i].spi, soft_spi_config[i].bus_name, &spi_obj[i].ops);
261 RT_ASSERT(result == RT_EOK);
262 }
263
264 return RT_EOK;
265}
266INIT_PREV_EXPORT(rt_soft_spi_init);
267
268#endif /* RT_USING_SOFT_SPI */

Callers

nothing calls this directly

Calls 3

rt_memcpyFunction · 0.85
spi_soft_pin_initFunction · 0.85
rt_spi_bit_add_busFunction · 0.85

Tested by

no test coverage detected