mega2560的库,移植到STM32
// Define PORT
#define PORT_DRDY PORTL // Pin 49 on Arduino Mega
#define PIN_DRDY PINL
#define PINDEX_DRDY PL0
#define DDR_DRDY DDRL
#define PORT_CS PORTB // Pin 53 on Arduino Mega
#define PIN_CS PINB
#define PINDEX_CS PB0
#define DDR_CS DDRB
#define PORT_RESET PORTL // PIN 48 on Arduino Mega
#define PIN_REST PINL
#define PINDEX_RESET PL1
#define DDR_RESET DDRL
这库引脚的定义,有大神能帮忙给修改下吗?STM32F103CBT6,或者解读下,是啥意思。
以中间的 PB0 为例:
#define PORT_CS PORTB // D53 所在端口的输出寄存器(8位)
#define PIN_CS PINB // D53 所在端口的输入寄存器(8位)
#define PINDEX_CS PB0 // D53 具体位于端口中的位置(0~7)
#define DDR_CS DDRB // D53 所在端口的方向寄存器(8位)
你这里 D48/D49/D53 是 AVR 的IO结构,直接移植 F103 的话结构都不通用。
建议这样移植:
pinMode(D48, OUTPUT)=> pinMode(PB10, OUTPUT)
digitalRead/Write => digitalRead/Write
如果原来的代码里直接访问 PORT_CS PORTB,那恭喜你至少得搞懂 AVR IO结构,
否则你这点代码根本说不清 t3486784401 发表于 2019-1-15 01:10
以中间的 PB0 为例:
谢谢 指正,还以为只是简单的几行呢,谢谢 t3486784401 发表于 2019-1-15 01:10
以中间的 PB0 为例:
是一个第三方的库,原先是为mega 2560写的——且只兼容mega 2560,看了下库里的源码,只有这里牵扯到里引脚,就是SPI读数据
页:
[1]