This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
WBJ:
那个硬中断问题解决了,但是这边还是初始化不成功,返回值是-4;查了下,有如下情况:
按手册,BSC_Initialize这个函数主要进行的是UART1(也即与蓝牙连接的串口)的初始化,跟进程序发现波特率设置不正确;正常程序
UART_IBRD 0x00000003 UART Integer Baud-Rate Divisor [Memory Mapped]
UART_FBRD 0x00000019 UART Fractional Baud-Rate Divisor [Memory Mapped](波特率921600)
是这样的;
出错程序是
UART_IBRD 0x0000001B UART Integer Baud-Rate Divisor [Memory Mapped]
UART_FBRD 0x00000008 UART Fractional Baud-Rate Divisor [Memory Mapped]
这个可以算出是(115200)。
为什么会这样,前面程序都没动;而且很奇怪,我改为其他波特率,也是设置不进去,不管波特率怎么变,这两个寄存器的值都是这个!!!
WBJ:
#define HCI_UART_GPIO_PERIPH SYSCTL_PERIPH_GPIOB
#define HCI_UART_GPIO_BASE GPIO_PORTB_BASE
#define HCI_UART_PIN_RX GPIO_PIN_0
#define HCI_UART_PIN_TX GPIO_PIN_1
#define HCI_PIN_CONFIGURE_UART_RX GPIO_PB0_U1RX
#define HCI_PIN_CONFIGURE_UART_TX GPIO_PB1_U1TX
配置的是串口1啊,按例程的来配置的,!!
单独跑SPPLEDemo是没问题的,问题是现在我整合之后,在这里就初始化不过去;但是去掉BSC_Initialize(HCI_DriverInformation, 0);这个之后,其他的程序也没有操作UART1(跟踪调试,发现处于初始状态)。而且跟踪到这句发现,HCI_DriverInformation这个结构体指针的参数中波特率显示是921600,但就是单步运行过后,得到了上面的初始化信息。就波特率和正常情况下不一样,变成了115200.
因为CC2564是需要下一段firmware进去做初始化的。我猜测要么是这个firmware没有下载成功,或者这个firmware里面的配置通讯串口的波特率是115200。
看看这个 我的目录是C:\TI\Connectivity\CC256X BT\CC256x MSP430 Bluetopia SDK\v1.4\MSP430_Experimentor\Bluetopia\btpsvend
CC256XB.h这个是给CC2564B的
CC256X.h这个是给CC2564的
里面的那个数组就是firmware/patch
WBJ:
您好, 又遇到问题了, Result = GAP_LE_Set_Pairability_Mode(BluetoothStackID, lpmPairableMode);这个函数返回值是-104,对应下面是哪个错误?
BTPS_ERROR_INVALID_BLUETOOTH_STACK_ID
BTPS_ERROR_INVALID_PARAMETER
BTPS_ERROR_GAP_NOT_INITIALIZED
BTPS_ERROR_LOCAL_CONTROLLER_DOES_NOT_ SUPPORT_LE
BTPS_ERROR_DEVICE_HCI_ERROR
BTPS_ERROR_FEATURE_NOT_CURRENTLY_ACTIVE