mirror of
https://github.com/sipeed/Maixduino.git
synced 2026-03-03 00:53:59 +01:00
-Add shiftIn,shiftOut
-upload script add -b bundrate Signed-off-by: Bigbits <btx000@qq.com>
This commit is contained in:
@@ -78,12 +78,9 @@ void noTone(uint8_t _pin);
|
||||
|
||||
#endif // __cplusplus
|
||||
|
||||
// Include board variant
|
||||
//#include "variant.h"
|
||||
|
||||
#include "wiring_digital.h"
|
||||
#include "wiring_analog.h"
|
||||
//#include "wiring_shift.h"
|
||||
#include "wiring_shift.h"
|
||||
//#include "WInterrupts.h"
|
||||
|
||||
#endif // Arduino_h
|
||||
|
||||
43
cores/arduino/wiring_private.h
Normal file
43
cores/arduino/wiring_private.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
wiring_private.h - Internal header file.
|
||||
Part of Arduino - http://www.arduino.cc/
|
||||
|
||||
Copyright (c) 2005-2006 David A. Mellis
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General
|
||||
Public License along with this library; if not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA
|
||||
|
||||
$Id: wiring.h 239 2007-01-12 17:58:39Z mellis $
|
||||
*/
|
||||
|
||||
#ifndef WiringPrivate_h
|
||||
#define WiringPrivate_h
|
||||
|
||||
#include "Arduino.h"
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef void (*voidFuncPtr)(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
31
cores/arduino/wiring_shift.c
Normal file
31
cores/arduino/wiring_shift.c
Normal file
@@ -0,0 +1,31 @@
|
||||
#include "wiring_private.h"
|
||||
|
||||
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) {
|
||||
uint32_t value = 0;
|
||||
uint8_t i;
|
||||
|
||||
for (i = 0; i < 8; ++i) {
|
||||
digitalWrite(clockPin, HIGH);
|
||||
if (bitOrder == LSBFIRST)
|
||||
value |= digitalRead(dataPin) << i;
|
||||
else
|
||||
value |= digitalRead(dataPin) << (7 - i);
|
||||
digitalWrite(clockPin, LOW);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
|
||||
{
|
||||
uint8_t i;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (bitOrder == LSBFIRST)
|
||||
digitalWrite(dataPin, !!(val & (1 << i)));
|
||||
else
|
||||
digitalWrite(dataPin, !!(val & (1 << (7 - i))));
|
||||
|
||||
digitalWrite(clockPin, HIGH);
|
||||
digitalWrite(clockPin, LOW);
|
||||
}
|
||||
}
|
||||
25
cores/arduino/wiring_shift.h
Normal file
25
cores/arduino/wiring_shift.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef _WIRING_SHIFT_
|
||||
#define _WIRING_SHIFT_
|
||||
|
||||
#include <stdint.h>
|
||||
#include "Arduino.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"{
|
||||
#endif // __cplusplus
|
||||
/*
|
||||
* \brief
|
||||
*/
|
||||
extern uint8_t shiftIn( uint8_t ulDataPin, uint8_t ulClockPin, uint8_t ulBitOrder ) ;
|
||||
|
||||
|
||||
/*
|
||||
* \brief
|
||||
*/
|
||||
extern void shiftOut( uint8_t ulDataPin, uint8_t ulClockPin, uint8_t ulBitOrder, uint8_t ulVal ) ;
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif /* _WIRING_SHIFT_ */
|
||||
@@ -98,5 +98,5 @@ tools.manual_openocd.program.pattern="{path}{cmd}" -d0 -f {program.config} -c "f
|
||||
tools.kflash.path={runtime.tools.kflash.path}/
|
||||
tools.kflash.cmd={runtime.tools.kflash.path}/kflash
|
||||
tools.kflash.bootloader.path={runtime.tools.kflash.path}/bootloader.bin
|
||||
tools.kflash.upload.pattern="{cmd}" -p {serial.port} -l "{bootloader.path}" {build.path}/{build.project_name}.bin
|
||||
tools.kflash.program.pattern="{cmd}" -p {serial.port} -l "{bootloader.path}" {build.path}/{build.project_name}.bin
|
||||
tools.kflash.upload.pattern="{cmd}" -p {serial.port} -l "{bootloader.path}" -b 2000000 {build.path}/{build.project_name}.bin
|
||||
tools.kflash.program.pattern="{cmd}" -p {serial.port} -l "{bootloader.path}" -b 2000000 {build.path}/{build.project_name}.bin
|
||||
Reference in New Issue
Block a user