cc1310 LAUNCH_PAD开发板上的UART和SPI
问题一: 我最近在测试cc1310 LAUNCH_PAD开发板,使用了cc1310 LAUNCH_PAD的UART例程,当下载进入调试模式的时候,程序能够运行,且正常,关闭调试状态之后,只要没有断电,程序依然可以运行,但是当我给板子复位或者重新上电的时候,程序就像无法初始化,不会正常运行,配置中已经配置了从main函数开始启动,也烧进flash中了。
问题二:cc1310 LAUNCH_PAD开发板上的下载器模拟的串口是否是和DIO2、DIO3是串行连接的,是否有占用的问题,当我使用下载器的串口发送数据时,下载器的串口和DIO2、3的串口都能收到程序返回的内容,但是用DIO2、3口发送内容,这时调试器的串口可以收到数据,但是DIO2、3口不会有数据显示。
问题三:我使用了CC1310DK_7XD的spi例程,用的cc1310 LAUNCH_PAD开发板,用它和别的spi通信,为什么发了数据之后没有反应。
你对例程的代码做过什么修改吗?
我是用UART例程,无法复现你说的问题。
问题2我也发现,同问
/*莫九玉2017.6.2*/ #include "Board.h" #include "spitext.h" #include <ti/drivers/spi/SPICC26XXDMA.h> #include <ti/drivers/SPI.h> #include <ti/drivers/spi/SPICC26XXDMA.h> #include <ti/drivers/dma/UDMACC26XX.h> static SPI_Handle spiHandle = NULL; /******************************************************************************* * @fn Spi_open * @brief Open the RTOS SPI driver * @param bitRate - transfer speed in bits/sec * @return true if success */ bool Spi_open(void) { SPI_Params spiParams; SPI_init(); /* Configure SPI as master */ SPI_Params_init(&spiParams); spiParams.bitRate = 1000000; spiParams.mode = SPI_MASTER; spiParams.transferMode = SPI_MODE_BLOCKING; spiParams.frameFormat = SPI_POL0_PHA0; /* Attempt to open SPI. */ spiHandle = SPI_open(Board_SPI0, &spiParams); return spiHandle != NULL; } uint8_t Spi_Read_Write(uint8_t data) { uint8_t data1; SPI_Transaction masterTransaction; masterTransaction.count = 1; masterTransaction.txBuf = &data; masterTransaction.rxBuf = &data1; masterTransaction.arg = NULL; SPI_transfer(spiHandle, &masterTransaction); return data1; } /******************************************************************************* * @fn Spi_close * * @brief Close the RTOS SPI driver * * @return none */ void Spi_close(void) { if (spiHandle != NULL) { // Close the RTOS driver SPI_close(spiHandle); spiHandle = NULL; } }
这个是我spi的.c文件,其他自己搞,用的妥妥的。
另外spi的接口是 8 9 10 cs你可以自己去设置