- 开发环境:Zephyr
1、c标准库
zephyr默认是使用简洁版本的c库,部分标准库的函数是没有的,需要在设备树里定义打开完整的标准库。
CONFIG_NEWLIB_LIBC=y
2、printk日志打印
默认使用的是UART0(P00->Tx,P01->Rx)作为串口打印输出。
prrj.conf
中配置
CONFIG_PRINTK=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
rcl.overlay
设备树配置
&uart0 {
current-speed = <115200>;
pinctrl-0 = <&p0_0_uart0_tx &p0_1_uart0_rx>;
status = "okay";
};
3、通过ble通用服务读取连接参数
- 名称:GENERIC ACCESS
- 服务UUID:0x1800
- 特征UUID:0x2A04
读取READ
操作的数据是协议栈底层自动加载,具体的最大最小范围值在prrj.conf
中配置中设置。MIN和MAX的实际值为设置的1.25倍
CONFIG_BT_PERIPHERAL_PREF_MIN_INT=16
CONFIG_BT_PERIPHERAL_PREF_MAX_INT=1600
CONFIG_BT_PERIPHERAL_PREF_LATENCY=0
CONFIG_BT_PERIPHERAL_PREF_TIMEOUT=1000
4、线程时间片
默认为10ms
可以在prrj.conf
中配置设置,单位:ms
CONFIG_SYS_CLOCK_TICKS_PER_SEC=10