ADC+DMA 目标数组无更新 解决办法
@[toc] 代码结构优化12345678910111213141516171819202122/* USER CODE BEGIN Header *//** ****************************************************************************** * @file : adc_dma.c * @brief : ADC with DMA implementation for STM32F7 series ****************************************************************************** * @attention * - STM32F7 L1-cache注意事项: * - 开启D-cache会导致DMA数据不更新 * - 解决方案: * - 使用DTCM内存(0x20000000) * - 手动维护cache一致性(SCB_InvalidateDCache_by_...
HAL_DMA_ERROR_FE错误代码解决方法
[toc] 错误场景: 使用STM32F7芯片 使用CUBE生成配置 使用如下链接代码 https://download.csdn.net/download/qq_39665253/77125064 具体为DMA+USART+FIFO(软件编写)+双串口。将接受到的数据发送回串口助手中。 表面上看收发正常。实际应用时(MODBUS多从机应用),总会丢失数据。debug看串口错误中断,发现EeeoreCode错误代码为10如何定位进入错误中断前的代码,看下面链接 https://blog.csdn.net/u013181595/article/details/69523331 定位进入错误中断代码,可找到这段代码。即进入了FIFO错误中断了观察CUEB串口设置,并没有使用FIFO。 CUBE生成代...
【ARM V6编译器 编译汇编代码出错解决办法】
@[toc] https://www.cnblogs.com/pengdonglin137/p/3603166.html看着办 12345678910111213141516171819202122232425262728293031323334//THUMB指令不支持汇编内联//采用如下方法实现执行汇编指令WFI void WFI_SET(void){ asm("WFI"); }//关闭所有中断(但是不包括fault和NMI中断)void INTX_DISABLE(void){ asm ( "CPSID I" "BX LR" );}//开启所有中断void INTX_ENABLE(void){ asm ( "CPSIE I" "BX LR " );}//设置栈顶地址//addr:栈顶地址void MSR_MSP(u32 addr) {...
CUBE 配置SDRAM 无法选择地址问题解决办法
@[toc] 如图所示:地址没有办法选择这个时候一般是需要选择的引脚已经被使用导致的。我这里是PF12被使用为其他功能导致不可填写地址取消之后既可使用 SDRAM具体配置具体要使用哪些引脚。一个办法是新建一个CUBE工程,配置后查看哪些引脚被使用。另一个直接查看别人生成好的代码中运用了哪些引脚 1234567891011121314151617181920212223242526272829303132void HAL_SDRAM_MspInit(SDRAM_HandleTypeDef *hsdram){ GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_FMC_CLK_ENABLE(); //使能FMC时钟 __HAL_RCC_GPIOC_CLK_ENABLE(); //使能GPIOC时钟 __HAL_RCC_GPIOD_CLK_ENABLE(); //使能GPIOD时钟 __HAL_RCC_GPIOE_C...
AS5600 12 位可编程非接触式电位器
[toc] 输入引脚 (DIR) 选择与旋转方向有关的输出极性。如果 DIR 接地,则输出值随顺时针方向旋转而增加。如果 DIR 连接到 VDD,输出值会随着逆时针旋转而增加。 最大角度可编程 18° 至 360° 12 位 DAC 输出分辨率 模拟输出与 VDD 或 PWM 编码数字输出成比例 vcc 3.3v PGO 编程选项(内部上拉,连接到 GND = 编程选项 B) DIR 数字输入方向极性(GND = 值顺时针增加,VDD = 值逆时针增加)
NVIDIA驱动更新“翻车”?解决RTX 2060在Bilibili客户端无法加载4K视频的终极指南
@[toc] 一、问题的症状:升级驱动后,4K高清享受变成“加载失败”您是否遇到了这样的情况:作为一名NVIDIA GeForce RTX 2060显卡的用户,您满怀期待地将显卡驱动程序更新到了最新版本,希望获得更好的游戏性能和稳定性。然而,当您打开哔哩哔哩(Bilibili)PC客户端,准备享受流畅的4K 60Hz超清视频时,却发现视频播放器陷入了无限的加载中,画面一片漆黑,或者提示加载失败。 显卡型号:NVIDIA GeForce RTX 2060 (或其他类似图灵架构的显卡) 触发场景:升级到NVIDIA最新的Game Ready或Studio驱动程序后。 具体问题:在Bilibili PC客户端中,播放4K分辨率、60Hz刷新率的视频时,无法加载和观看。但奇怪的是,播放1080p视频或使用网页版Bilibili可能一切正常。 这是一个典型的驱动程序兼容性问题。最新的驱动虽然优化了游戏,但可能在特定应用的视频硬解(Hardware-accelerated video decoding)上引入了新的Bug。 12345678graph TD A["升级...
Win11新版“Apple设备”应用无法识别iPhone?终极解决方案来了!
@[toc] 一、问题的困境:新潮三件套,却识别不了我的iPhone?苹果公司终于为Windows 11用户带来了期待已久的“Apple 设备”、“Apple Music”和“Apple TV”三款现代化应用,预示着老旧、臃肿的iTunes即将退出历史舞台。许多用户通过各种方式(如本文附录的PowerShell安装法)抢先体验,然而,一个棘手的问题也随之而来: 安装了全新的“Apple 设备”应用后,将iPhone通过USB线连接到电脑,应用却毫无反应,无法识别到设备。 123456graph TD A["用户在Win11上安装了<br/>新版'Apple 设备'应用"] --> B["通过USB连接iPhone"]; B --> C{"'Apple 设备'应用"}; C --> D["<font color=red><b>无法识别iPhone</b></fo...
小米AX3000T路由器多设备下载失速?一招固件升级彻底解决
@[toc] 一、问题的困扰:从“满速天堂”到“龟速地狱”您是否也遇到了这样的 frustrating(令人沮丧)的场景?您新购入了一台性能强劲的小米AX3000T路由器,它拥有Wi-Fi 6和NFC一碰连等先进功能。在100M宽带下,当您连接一台设备进行下载时,速度轻松达到理论峰值(约12.5MB/s)。 然而,当家人、室友的多台手机、电脑、平板都连接上Wi-Fi,并开始同时进行下载、看视频等网络活动时,灾难发生了:所有设备的下载速度在短暂地维持满速后,会断崖式地暴跌到仅有500KB/s左右,网络体验瞬间从“高速公路”变成了“乡间小路”。 无论您是重启路由器,还是断开重连Wi-Fi,问题都可能在短时间内再次复现。这并非您的宽带问题,也不是设备问题,而是路由器本身的一个“软”缺陷。 二、原因探究:为何会发生速度断崖?在揭晓最终解决方案前,我们先分析一下导致这种问题的深层原因。这种从高速突然跌落至稳定低速的现象,通常指向路由器固件(Firmware)层面的软件Bug。 QoS(服务质量)引擎缺陷:路由器内置的QoS引擎负责智能分配网络带宽。在旧版固件中,其算法可能存...
STM32F7 使用 FAL 配置片上FLASH
[toc] 使用STM32F767芯片 加载RTT 3.15完整版,采用ENV工具,用KEIL加载工程,使用FAL配置片上FLASH,采用ARMV6编译器 优化等级-0 工程BSP目录下运行env 输入menuconfig进入菜单USER DRIVer CONFIG 是我自己编写的,没有用 从截图所示进入 使能 on-chip FLASH 从截图所示进入 按空格使能,按回车进入配置。如截图所示进行配置 进行保存 使用SCONS命令 无修改进行编译运行,有三个错误 fal_flash.c 47行修改如下 123log_d("Flash device | %*.*s | addr: 0x%08lx | len: 0x%08x | blk_size: 0x%08x |initialized finish.", FAL_DEV_NAME_MAX, FAL_DEV_NAME_MAX, device_table[i]->name, (unsigned long)device_table[i]->add...
Vscode ESP-ID 添加自定义组件解决办法
@[toc] 添加方法ESP-IDF 在搜索所有待构建的组件时,会按照 COMPONENT_DIRS 指定的顺序依次进行,这意味着在默认情况下,首先搜索 ESP-IDF 内部组件(IDF_PATH/components),然后是 EXTRA_COMPONENT_DIRS 中的组件,最后是项目组件(PROJECT_DIR/components)。如果这些目录中的两个或者多个包含具有相同名字的组件,则使用搜索到的最后一个位置的组件。这就允许将组件复制到项目目录中再修改以覆盖 ESP-IDF 组件,如果使用这种方式,ESP-IDF 目录本身可以保持不变。 我提供一种正确设置后还是无法编译通过的方法 https://docs.espressif.com/projects/esp-idf/zh_CN/v4.4.1/esp32/api-guides/build-system.html#id18可以尝试先清除工程编译再编译一次既可






