logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

freertos程序死机原因

一、开机死机原因1.一般是某任务栈溢出所致栈溢出一般有两个原因:1).此任务函数的代码量太大,或调用了某个比较大的函数。2).此任务的函数内有比较大的局部变量的数组调试方法:1、先关闭所有任务再逐个打开,确定哪个任务导致的死机2、先看看有没有较大的数据,再用水印函数看看函数的剩余栈。uxTaskGetStackHighWaterMark(Task_sendModebuHandle )举例:打开此任

文章图片
#stm32
SQLite:内存数据库

一、内存数据库:在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递”:memory:”,如:代码如下:rc = sqlite3_open(“:memory:”, &db);在调用完以上函数后,不会有任何磁盘文件被生成,取而代之的是,一个新的数据库在纯内存中被成

#sqlite
stm32 代码RAM溢出

KEIL编译程序后下边报错误:原因是因为代码的全局变量太多或全局的数组太大导致程序编译后RAM溢出建议先查看有没有比较大的全局数组BootLoader\BootLoader.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32f103xb.o(STACK).…BootL

文章图片
#stm32
ubuntu网卡enp0s3改成eth0

1.修改grub文件vim /etc/default/grub查找GRUB_CMDLINE_LINUX="xxxx"修改为GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"2.输入如下命令,更新grub配置文件update-grub若提示没有此命令,请先输入安装命令apt-get install grub2-common3.编辑对应文件将“enp0s3

#ubuntu
SQLite:内存数据库

一、内存数据库:在SQLite中,数据库通常是存储在磁盘文件中的。然而在有些情况下,我们可以让数据库始终驻留在内存中。最常用的一种方式是在调用sqlite3_open()的时候,数据库文件名参数传递”:memory:”,如:代码如下:rc = sqlite3_open(“:memory:”, &db);在调用完以上函数后,不会有任何磁盘文件被生成,取而代之的是,一个新的数据库在纯内存中被成

#sqlite
stm32串口接受数据 中间数据丢失 flash操作

串口丢失原因:1:读串口数据时,有写flash操作;原因:写flash时会产生关闭串口中断,会暂时关闭串口字节接受中断。解决办法:1:串口的字节中段改成DMA中断2:写flash与串口的发送接受 异步改成同步,即写flash完成后再发送串口;就是避免读数据时操作flash...

文章图片
#c语言#stm32
esp32编译出错

FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/H201/tcpHeartBeatPro.c.objninja: build stopped: subcommand failed.ninja failed with exit code 1

#c语言#vscode
freertos程序死机原因

一、开机死机原因1.一般是某任务栈溢出所致栈溢出一般有两个原因:1).此任务函数的代码量太大,或调用了某个比较大的函数。2).此任务的函数内有比较大的局部变量的数组调试方法:1、先关闭所有任务再逐个打开,确定哪个任务导致的死机2、先看看有没有较大的数据,再用水印函数看看函数的剩余栈。uxTaskGetStackHighWaterMark(Task_sendModebuHandle )举例:打开此任

文章图片
#stm32
json-c使用

json-c的使用json-c的API1.json对象格式的分类:2.json类型与对象的转换:3.json的正删改查:4.json的文件操作:5.json的内存泄漏:

#json#c语言
到底了