请问SPI接口的代码如何再插入其他代码一起执行-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1402|回复: 2

[未解决] 请问SPI接口的代码如何再插入其他代码一起执行

[复制链接]
发表于 2021-11-12 14:29 | 显示全部楼层 |阅读模式
下面是一个数字电位器的代码,通过SPI控制
已经调试都没有问题了
但是我想在执行这个程序的同时再执行一些其他内容,这个程序对应的硬件就没变化了
例如每个循环里向数字接口发送一次高低的电压
这个程序好像就不起作用了
请大家指点一下

#include <MCP41_Simple.h>

MCP41_Simple MyPot;

const uint8_t CS_PIN = 10;
uint8_t CUR_VAL      = 0;
uint8_t DIRECTION    = 1;

void setup() {
  // put your setup code here, to run once:
  MyPot.begin(CS_PIN);
}

void loop() {
  // put your main code here, to run repeatedly:
  MyPot.setWiper(CUR_VAL);
  if(DIRECTION)
  {
    CUR_VAL++;
    if(CUR_VAL==0) DIRECTION = 0;
  }
  else
  {

    CUR_VAL--;
    if(CUR_VAL==0) DIRECTION = 1;
  }

  delayMicroseconds(10000);
}

发表于 2021-11-13 14:38 | 显示全部楼层
setup函数里面设置一下
 楼主| 发表于 2021-11-14 10:58 | 显示全部楼层
13542112605 发表于 2021-11-13 14:38
setup函数里面设置一下

能麻烦具体点吗
实际上现在的代码是这样的
设置了波特率
读取一个模拟接口的数据控制循环的速度
但是在循环里加其他的就都不行

int potpin=0;//定义模拟接口0

#include <MCP41_Simple.h>

MCP41_Simple MyPot;

const uint8_t CS_PIN = 10;
uint8_t CUR_VAL      = 0;
uint8_t DIRECTION    = 1;

void setup() {
  MyPot.begin(CS_PIN);
  Serial.begin(9600);//设置波特率为9600
}



void loop() {

  MyPot.setWiper(CUR_VAL);
  if(DIRECTION)
  {
    CUR_VAL++;
    if(CUR_VAL==0) DIRECTION = 0;
  }
  else
  {

    CUR_VAL--;
    if(CUR_VAL==0) DIRECTION = 1;
  }

  delayMicroseconds(analogRead(potpin)*4);


}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 21:50 , Processed in 0.071274 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表