随笔分类 - MCU
摘要:最近在STM32做一个关于USB音频的应用,调试过程中一直被一个随机产生的HARD FAULT折磨。问题很奇怪,进入HARD FAULT的时间不定,可能连上USB后几秒就触发HARD FAULT,也可能程序跑几分钟甚至几十分钟才会触发。尽管感觉问题极有可能来自USB部分代码,但起初一直没有办法找到导致问题的代码,百度上搜素了一下,但是感觉对自己没什么启发。经过努力,最终找到了问题所在,同时也学到了新的东西,现在先介绍下调试过程。 首先在KEIL下进入DEBUG模式运行程序,待MCU"死掉"后停止,显然是卡在HARD FAULT的while(1)里面的。接下来打开FAULT
阅读全文
摘要:几年前自己就很想DIY一个音频播放设备,那时候也申请了一些音频DAC以及运放,前前后后做了一些耳放,也用PCM1793和51做过一个CD-ROM播放器(遥控器控制)。但逐渐感觉没兴趣了,自己也没什么仪器可以测试,所以也就是简单地按照一些典型电路自己焊板子调试,之后很长一段时间都没有做过相关的东西。不过之前剩下的一些元件放着也可惜,于是决定再次动手! 这次的计划是做一个USB异步音频声卡,用STM32做USB接口,fpga(用的是EP2C5T144)缓存数据并合成I2S信号给PCM1796。9月开学前花了几天画了PCB,然后国庆这几天了实现了初步的USB声卡功能。先上图: 音质感觉不错,具...
阅读全文
摘要:目前能找到的大部分代码都是默认8M外部晶振的,若使用的晶振不是8M则需要作一些修改。例如这次我使用的外部晶振是12M的,作如下修改。 1.首先需要修改"Option for target 'xxx'"中的Target -> Xtal(Mhz)处的值(改为12MHz)。此处修改影响Debug时观察到的时钟数值。 2.在system_stm32f10x.c开头的注释里有: * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on * the product
阅读全文
摘要:在调试USB接口芯片过程中遇到的一些问题记录以及一些心得总结。
阅读全文

浙公网安备 33010602011771号