CC2541 能在打开POWER_SAVING后,使用串口么?
板子之前串口是OK的,打开POWER_SAVING后,串口没有输出。后来打开DMA_PM=0,系统启动后,一会就死了。
现在的配置是:
INT_HEAP_LEN=3008
CC2541
HALNODEBUG
OSAL_CBTIMER_NUM_TASKS=1
HAL_DMA=TRUE
xPLUS_BROADCASTER
HAL_LCD=FALSE
HAL_LED=FALSE
HAL_UART=TRUE
HAL_KEY=FALSE
HAL_ADC=FALSE
XOSC32K_INSTALLED=FALSE
POWER_SAVING
DMA_PM=0
请问怎么在POWE_SAVING打开的情况下,使用串口?
低功耗模式串口不能工作的,没时钟
在低功耗下,如果用的是DMA模式,系统默认的是打开了数据流控,这样接收与发射 的数据才没有问题,如果您把DMA_PM强制设置为0.就是让它在休眠模式下也不起用数据流控,这样或许就如楼上所说,没有时钟就不能发送了
谢谢回复。
那就是说,只要我编译的时候,打开了POWER_SAVING后,就不能用串口进行输出,进行调试了?
那在打开POWER_SAVING下的情况下,就只能用IAR的断点进行调试,是这个意思么?
可以用,前提是拿个 IO 作为中断唤醒,比如 UART 的 CTS 引脚,配置为外部中断,然后上位机串口工具开 RTS 就可以了
可以看看 _hal_uart_dma.c 文件中的 HalUARTInitDMA() 函数 ,里面就有配置
您好,我目前在做CC2541蓝牙模块,我的功能需求是这样的,先让蓝牙模块以从设备模式工作,让它进入低功耗模式,每隔3s钟用定时器去唤醒蓝牙模块去检测是否有设备接入。如果有设备接入,就让GPIO输出一个引脚电平。我现有的资源是BLE-CC254x-1.4.0里面的SimpleBLEPeripheral这个程序,能否给我几个修改的建议,我还是小菜鸟。另外,我问下,我从网上买的模块是WLT2541蓝牙模块。既然这个模块可以烧录程序,那么为什么还要有AT指令去操控蓝牙模块?用AT指令操控的蓝牙模块是不是已经烧写好程序的了?我觉得我的这个功能是不是不用AT指令直接编它自己的处理器程序就行了?
mars wu 1 你好 请问你能详细的说明一下嘛 我现在按照你这边说的做 并不能实现啊