摘要:http://ramlife.me/posts/solution/embedded/spi/stm32-use-qspi-write-and-read-w25q128-timeout/ 背景 使用 STM32U575 主控芯片,使用 QSPI 读写 W25Q128,简单的读写测试没有问题。但是在后面
阅读全文
随笔分类 - 嵌入式软件
摘要:http://ramlife.me/posts/solution/embedded/spi/stm32-use-qspi-write-and-read-w25q128-timeout/ 背景 使用 STM32U575 主控芯片,使用 QSPI 读写 W25Q128,简单的读写测试没有问题。但是在后面
阅读全文
摘要:1. 录音的 pcm 文件直接播放,使用: #!/bin/bash play -t raw -r 44.1k -e signed-integer -b 16 -c 2 loved.pcm play -t raw -r 48k -e floating-point -b 32 -c 2 ./data_d
阅读全文
摘要:#1. 离散位置式 PID 公式: u(k) = k_{p}(error(k) + \frac{T}{T_{i}}\sum_{j = 0}^{k}error(j) + \frac{^{T_{d}}}{T}(error(k) - error(k - 1))) = k_{p}error(k) + k_{
阅读全文
摘要:工程的配置中, user 的选项卡,after build/rebuild 的两条命令可以设置为 fromelf --text -c -o "$L@L.asm" "#L" fromelf --bin -o "$L@L.bin" "#L"
阅读全文
摘要:#1. 查询 WIFI 操作 AT+WMODE #2. 进入透传 AT+ENTM 进入命令模式 +++ 然后接受到 a 之后,输入 a , 注意都是没有回车的。 #3. 重启模块 AT+Z #4. 查询串口 AT+UART #5. 查询网络协议 AT+NETP AT+NETP=UDP,Server,
阅读全文
摘要:当 iar 工程在多个地方复制使用的时候,有时候定位函数的时候,会提示错误的路径。 解决方法: project --> clean,清除, 然后 rebuild all,就可以了。
阅读全文
摘要:#1. led 设备树代码分析。 #2. 为了便于学习,使用的是 nfs 文件系统,但是在学习设备树这一节的时候,发现 base 文件夹下面没有出现相应的节点。 首先 Linux_xxx/scripts/dtc/dtc -I dtb -O dts /从板子上/复制出来的/xxx.dtb -o tmp
阅读全文
摘要:#0. buildroot 网址 https://git.buildroot.net/buildroot/?h=2020.02.x #1. buildroot 可以使用默认编译的工具链,也可以使用他人编译好的工具链。 参考: https://www.cnblogs.com/ranson7zop/p/
阅读全文
摘要:#1. stdlib.h not found,原因是头文件位置没有设置。 Tools --> options --> kits --> compile 选择相应的编译器,然后下面的 Header paths 点击 后面的 details,填写头文件地址,比如: /home/book/100ask_i
阅读全文
摘要:c89,不能在 for 循环定义变量,很麻烦,所以决定用 c99。在 Makefile 里面的写法如下: ccflags-y := -std=gnu99 -Wno-declaration-after-statement 参考:https://blog.csdn.net/yangkunhenry/ar
阅读全文
摘要:使用 韦东山 的 imx6ul 的开发板,按照手册上面的 nfs rootfs 的说明进行操作,结果开发板加载的时候,打印 VFS: Unable to mount root fs via NFS, trying floppy.然后直接卡住不动了。 经过仔细分析,原来是因为我 虚拟机使用的是 桥接网
阅读全文
摘要:1. 编写实际的驱动函数类似于 led_open, led_write 等。 2. 定义一个 file_operations 结构体,把 led_open 等实际的驱动函数填充进去。 3. 调用 register_chrdev 函数,把 file_operations 结构体注册到内核里面去。 4.
阅读全文
摘要:1. linux 中的 main.c 文件里面的 init_post 函数,首先打开 /dev/console, 然后 sys_dup(0), sys_dup(0)。这三步的作用是,打开串口作为标准输出 0,复制 0 作为标准输入1,复制 0 作为错误输出2. init_setup 这个函数执行 u
阅读全文
摘要:stm32f4 usb 调试,软件调试可以使用 Wireshark 里面的 usb 组件,或者 usb Monitor 。 但是这些软件调试都有一个问题,必须在枚举分配地址之后,才能由软件调试收集到信息。如果在枚举的时候出错,就无法确认具体的错误。 碰到这种情况,只能选用有 usb 协议分析功能的逻
阅读全文
摘要:只要在项目上右键,选择 convert to c++,即可转化为 c++ 工程。
阅读全文
摘要:stm32f429使用 stm32cube 自动生成 eth 代码的时候,运行出现 FLASH_FLAG_PGSERR 错误。 见过调试发现,MX_ETH_Init 中没有对指针进行赋值,就直接写入了,所以出错。 进行下面的修改。
阅读全文
摘要:stm32cubeide 是基于 eclipse 开发的软件,所以修改和 eclipse 类似,只要在 window perference keys 里面把 content assist 这个功能绑定到自己喜欢的按键即可。默认是 ctrl + space,我比较喜欢替换为 alt + /, 因为 a
阅读全文
摘要:在 main.c 里面添加 参考: http://ibotx.com/?p=191 https://blog.csdn.net/mynameislinduan/article/details/83579725 2. 或者基于 en.x cube iap usart\AN4657 STM32Cube_
阅读全文
摘要:在 main.c 中增加 注意后面需要加 "\n",不然有可能不显示出来,或者可以用 fflush(stdout)。 浮点数需要开启 浮点数支持,project properties c/c++ build setting tools setting mcu setting use float xx
阅读全文
摘要:最近在调试 android,使用 串口半双工模式接收数据,碰到的问题是 unistd 中的 read 是block的,怎样才能超时退出。 刚开始找到的资料说是 c_cc[VMIN] = 0, c_cc[VTIME] = 10; 这样就能配置为 1s 超时了。但是实际上并不能够达到超时退出的功能。 后
阅读全文
|