怎样查看arduino自带的函数源代码

例如shiftOut()函数,在哪里查看源代码呢?
2025-05-14 09:19:31
推荐回答(1个)
回答1:

D:\Program Files\Arduino\hardware\arduino\cores\arduino的wiring_digital.c文件或D:\Program Files\Arduino\hardware\arduino\cores\robot的wiring_digital.c文件

#define ARDUINO_MAIN
#include "wiring_private.h"
#include "pins_arduino.h"

void pinMode(uint8_t pin, uint8_t mode)
{
uint8_tbit = digitalPinToBitMask(pin);
uint8_tport = digitalPinToPort(pin);
volatileuint8_t *reg, *out;

if(port == NOT_A_PIN) return;

//JWS: can I let the optimizer do this?
reg= portModeRegister(port);
out= portOutputRegister(port);

if(mode == INPUT) {
uint8_toldSREG = SREG;
cli();
*reg= ~bit;
*out= ~bit;
SREG= oldSREG;
}else if (mode == INPUT_PULLUP) {
uint8_toldSREG = SREG;
cli();
*reg= ~bit;
*out|= bit;
SREG= oldSREG;
}else {
uint8_toldSREG = SREG;
cli();
*reg|= bit;
SREG= oldSREG;
}
}