如何在ADS上建立工程及设置ADS参数

      写这篇文章,主要是为了那些初次接触ADS的初学者能够的快速适应从KEIL转到ADS上来,说实话,个人觉得KEIL或者说MDK比ADS不知道好了多少万倍,确实没有KEIL好使,但是为了适应ADS,我们不得不学会如何使用它,对吧?呵呵~~

      首先建立一个名为led的文件夹,将TQ公司的inc和src文件,还有你所写的main.c文件,复制到刚才建立led文件夹里面,然后打开ADS.exe。

点击file->new,新建一个工程,工程名保存为led

按确定之后,打开窗口如下所示

在上图空白处右击,选择Add file..,路径选择刚

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
ADS1115是一种高精度、低功耗、单通道或四通道、16位模数转换器 (ADC)。在Qt上实现ADS1115需要先配置好ADS1115的硬件连接,并且安装好相应的Qt模块。 以下是一个基本的ADS1115 Qt实现示例: 1. 首先,需要安装Qt的I2C模块。 2. 在Qt中创建一个新的项目,并在项目文件中添加以下依赖项: ``` QT += core QT += i2c ``` 3. 在Qt中创建一个新的类,并将其命名为ADS1115。 4. 打开ADS1115.h文件,并输入以下代码: ```c++ #ifndef ADS1115_H #define ADS1115_H #include <QObject> #include <QByteArray> #include <QTimer> #include <QIODevice> #include <QIODevice> #include <QDebug> #include <QFile> class ADS1115 : public QObject { Q_OBJECT public: explicit ADS1115(QObject *parent = nullptr); ~ADS1115(); bool Configure(); int16_t ReadData(uint8_t channel); private: int m_deviceAddress; QFile m_i2cFile; QTimer m_timer; QByteArray ReadBytes(int length); void WriteBytes(QByteArray data); }; #endif // ADS1115_H ``` 5. 打开ADS1115.cpp文件,并输入以下代码: ```c++ #include "ads1115.h" #define ADS1115_CONFIG_REG 0x01 #define ADS1115_CONVERSION_REG 0x00 ADS1115::ADS1115(QObject *parent) : QObject(parent) { m_deviceAddress = 0x48; //设备地址 m_i2cFile.setFileName("/dev/i2c-1"); //打开i2c接口文件 m_timer.setInterval(1000); //设置定时器 connect(&m_timer, SIGNAL(timeout()), this, SLOT(ReadData())); //连接定时器信号和槽函数 Configure(); //配置ADS1115 } ADS1115::~ADS1115() { m_i2cFile.close(); } bool ADS1115::Configure() { if (!m_i2cFile.open(QIODevice::ReadWrite)) { //打开i2c接口文件 qDebug() << "Failed to open i2c interface!"; return false; } QByteArray configData; configData.append(ADS1115_CONFIG_REG); configData.append(0b10000000); //设置配置寄存器为单端输入A0通道,增益为1,连续转换模式 configData.append(0b00000001); //设置数据速率为8SPS WriteBytes(configData); //写入配置数据 return true; } int16_t ADS1115::ReadData(uint8_t channel) { QByteArray readData; readData.append(ADS1115_CONVERSION_REG); readData.append(channel << 4); //设置通道 readData.append(0b10000100); //设置配置寄存器为单端输入通道,增益为1 WriteBytes(readData); //写入读取数据的命令 m_timer.start(); //启动定时器 return 0; } QByteArray ADS1115::ReadBytes(int length) { QByteArray readData; if (m_i2cFile.read(readData, length) != length) { //读取数据 qDebug() << "Failed to read data!"; } return readData; } void ADS1115::WriteBytes(QByteArray data) { if (m_i2cFile.write(data) != data.length()) { //写入数据 qDebug() << "Failed to write data!"; } } void ADS1115::ReadData() { QByteArray data = ReadBytes(2); //读取2个字节的数据 uint16_t value = (data.at(0) << 8) | data.at(1); //将数据转换为16位无符号整数 m_timer.stop(); //停止定时器 qDebug() << "ADS1115 Data: " << value; } ``` 6. 在Qt中使用ADS1115类: ```c++ #include <QCoreApplication> #include "ads1115.h" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); ADS1115 *adc = new ADS1115(); adc->ReadData(0); return a.exec(); } ``` 该示例实现了一个基本的ADS1115 Qt应用程序。在这个示例中,我们定义了一个名为ADS1115的类,该类提供了一些函数来读取ADS1115的数据。我们还创建了一个名为main的函数,它在应用程序启动时创建了一个ADS1115对象,并使用ReadData函数来读取A0通道的数据。 请注意,在此示例中,我们使用了Linux系统上的/dev/i2c-1文件来连接ADS1115。您需要根据自己的环境进行更改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值