本帖最后由 logokfu 于 2013-1-26 00:13 编辑
我的学习笔记,记录下自己的学习过程,写给那些像我这样的学习困难户,适合新手看,高手不用浪费时间,本帖长期更新。
另外说明下我用的是STM32F107VCT6,但是由于STM32各个型号都是兼容的,只有部分功能不同,因此大部分的内容都是相同的。因此适合学习各种型号STM32的朋友
如果觉得我写的好的,大家可以帮顶下,让更多的像我这样的新手看见,如果觉得不好的也请指正。谢谢!
另外大家再学习过程中如果觉得有什么问题,请在下面跟帖。有朋友发邮件有时候我会顾不着看,谢谢!:)
2012年2月9号更新:
截止我发这个帖子为止
MDK为最新版本4.23版本
固件库也为最新版本3.5版本
stm32学习笔记之MDK工程的建立.pdf
(347.34 KB)
2012年3月6号更新:
stm32学习笔记之GIPO深入学习.pdf
(268.59 KB)
stm32学习笔记之按键扫描输入.pdf
(64.21 KB)
2012年3月11号更新:
外部中断(EXTI)的学习.pdf
(412.55 KB)
2012年3月15号更新:
涉及开发环境的建立,固件库的介绍,以及stm32整体概念的介绍,新手必看!
STM32学习心得(新手必看).pdf
(232.45 KB)
2012年4月20号更新:
使用EWARM建立STM32工程(截止我发这个贴为止,EWARM最新版本为6.30版本)
stm32学习笔记之EWARM工程的建立.pdf
(203.32 KB)
串口简单打印输出
stm32学习笔记之USART_Printf.pdf
(25.11 KB)
基于EWARM6.30的完整工程下载
UART_Printf.rar
(364.63 KB)
2012年4月21号更新:
USART1接收输入控制LED(查询扫描法)
USART接收输入控制LED(查询扫描法).rar
(448.96 KB)
2013年1月25号更新
说明: ADC1,8通道ADC采集,采用DMA1通道1传送数据,然后通过串口1 输出到超级终端
采用systick产生1ms时基,每隔100ms输出一次数据
八通道ADC1_DMA_Printf.rar
(1.69 MB)
,下图为简单的数据输出显示:
附带学习感想:
之前一直在用8位的单片机,多通道AD采集往往需要自己添加代码来对每个通道进行单个转换。还要一些麻烦的代码。现在用了STM32之后发现多通道AD采集变得简单了,尤其再加上使用DMA对ADC的数据寄存器里的数据进行转移输出,更是释放了CPU让CPU有更多的时间去处理其他事物,方便了许多。以前只玩过8位机的朋友可能大多对DMA都不熟悉,没有用过。其实DMA用起来还是很方便的。主要第一次建立概念比较抽象,比较麻烦,实在建立不起来概念的,可以多看看示例代码,跑跑例子程序,看看实验现象。搞多了自然就明白道理了。
另外我觉得关于AD采集,其实不管是8位机还是16位机,或者32位机,真正麻烦的不是数据的的采集,而是采集来的数据要怎么进行处理,这里就要引入“软件滤波”的概念了,关于软件滤波网上都有算法,大家可以参考下。如果只是简单的跑个demo功能测试,不用滤波算法还可以,如果是真正的做工程项目的话是必须做滤波算法的,不然会有误动作,做出来的产品根本不能用,只能作为个实验机。
未完待续……
|