之前我的板子已经可以运行Linux4.2,但是那时还没有STM32 ADC和DAC的linux驱动。后来通过查看linux主线源码发现4.1x版本里已经有这个驱动了,于是我有了升级linux kernel的想法。整个过程总的来说还算比较顺利,kernel编译,busybox文件系统制作,rootfs 映像制作都是按照网上搜索的方法加上自己的总结做的。然后下载映像到板子上启动,OK。. L# {( d+ ?1 K6 T 9 h, X+ @" ]- k2 n* u0 }, P 一、检查ADC、DAC驱动设备文件,linux系统将这两类设备都归为IIO设备,可以在/sys/bus/iio/devices目录下找到,我创建了两个设备iio0 adc, iio1 dac0 x3 q, T$ T6 n! h0 E& c% H. \ ( k5 B6 C' B9 k* q( N5 N2 C , X- P" _( ~2 }. P 二、测试ADC,linux通过读取adc设备文件获得采集到的ad值(STM32F429的ADC是12位的,对应量程0-4095),由于引脚悬空,所以读取的值是浮动的。 三、测试DAC,linux可以通过echo命令写dac设备文件来改变da输出值(STM32F429的DAC是12位的,对应量程0-4095)。 ' E( o# J7 b+ K H! `$ i* k4 |0 ` 最后,我短接了PA5和PF10引脚,来个ADC测量DAC。从下图可以看到DAC输出4000,ADC测得3999;DAC 2000,ADC 2015;DAC 1000,ADC 1001;马马虎虎还算比较准确吧 & ~: z* v1 {8 S |
STM32固件库分享,超全系列整理
基于STM32F407中的RNG获取随机数经验分享
【中文文档】AN3965_STM32F40x和STM32F41x基于串口的IAP
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32F4中文用户手册
基于STM32F407的FreeRTOS阶段性的总结(13)
STM32F400、STM32F402 Cortex-M4超值单片机
基于STM32F407的FreeRTOS获取各任务运行时间及占用情况(4)
基于STM32F407的FreeRTOS任务的挂起与恢复(3)
基于STM32F407的FreeRTOS任务的创建与删除经验分享(2)