STM32L010でSPIを使いEEPROM AT93C46を読み出す。
x mbedのリビジョンは、125
目的
SPIのテスト
前提
事前にアドレス0に1,2が書き込まれている
参考
#include "mbed.h"
#define swclk1 PA_5 //A4
#define test01 PA_6
#define swdio1 PA_7 //A6
#define en1 PA_4 //A3
//DigitalOut test1(test01);
//DigitalOut swdclk(swclk1);
//DigitalOut swdio(swdio1);
DigitalOut cs(en1);
SPI spi( swdio1 , test01, swclk1); // mosi, miso, sclk
//SPI spi( D11 , D12 , D13); // mosi, miso, sclk
//DigitalOut cs( D10 );
//Serial pc(USBTX, USBRX); // tx, rx
//Serial pc(SERIAL_TX, SERIAL_RX); //767
RawSerial pc(PA_2, PA_3); //010
int main() {
pc.printf("\r\n010\r\n");
// Setup the spi for 8 bit data, high steady state clock,
// second edge capture, with a 1MHz clock rate
spi.format(8,0);
spi.frequency(1000000);
// Select the device by seting chip select low
cs = 1;
spi.write(0b00000001);
spi.write(0b10000000 | 0);
wait_ms(5);
uint8_t b1 = spi.write(0x00);
uint8_t b2 = spi.write(0x00);
uint8_t b3 = spi.write(0x00);
pc.printf("番地(H) = ");
pc.printf("%d\r\n",
(b1 << 1) | (b2 >> 7)
);
pc.printf("番地(L) = ");
pc.printf("%d\r\n",
( (b2 & 0b01111111) << 1) | (b3 >> 7)
);
// Deselect the device
cs = 0;
}//main
//容量削減
void error(const char* format, ...){}
Author And Source
この問題について(STM32L010でSPIを使いEEPROM AT93C46を読み出す。), 我々は、より多くの情報をここで見つけました https://qiita.com/caa45040/items/dc6d8b11feda35752f0d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .