最近项目要使用ADS8361进行AD采集,但是自己是新手,找遍全网,想到两个解决方案,只能等硬件回来之后再进行测试是否可行。我是新手,这个ADS8361内核中也没有驱动代码,如果有大神能看到这篇文章并进行指正,请直接留言,我会很开心的,其他有疑惑的小伙伴可以一起讨论呀!
硬件部分
下面是硬件电路部分:
IO口配置:
方案一:
修改kernel/drivers/hwmon/adcxx.c
前两个2->3 第三个原代码:value = (rx_buf[0] << 8) + rx_buf[1]
内核设备树:
方案二:
硬件和我说都是io口控制,遂写了一个类似gpio-led的驱动程序
添加节点
将上面写的涉及到SPI0相关的引脚修改为gpio用
两个方案通用的adc引脚
根据同事写的应用修改的gpio-leds驱动驱动程序:
方案二对应的应用部分:(同事写的)文件路径部分自行设置
#include "stdio.h"
#include "unistd.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "fcntl.h"
#include "stdlib.h"
#include "string.h"
#include <time.h>
enum
{
ADC_CLOCK=