Fix SPI3 protocol with SSD1306
This commit is contained in:
parent
f51becd0a7
commit
674c450416
1 changed files with 13 additions and 3 deletions
|
@ -99,7 +99,7 @@ static int inline i2c_send(const ssd1306_t *dev, uint8_t reg, uint8_t* data, uin
|
||||||
/* Issue a command to SSD1306 device
|
/* Issue a command to SSD1306 device
|
||||||
* I2C proto format:
|
* I2C proto format:
|
||||||
* |S|Slave Address|W|ACK|0x00|Command|Ack|P|
|
* |S|Slave Address|W|ACK|0x00|Command|Ack|P|
|
||||||
*
|
*
|
||||||
* in case of two-bytes command here will be Data byte
|
* in case of two-bytes command here will be Data byte
|
||||||
* right after the command byte.
|
* right after the command byte.
|
||||||
*/
|
*/
|
||||||
|
@ -293,9 +293,19 @@ int ssd1306_load_frame_buffer(const ssd1306_t *dev, uint8_t buf[])
|
||||||
{
|
{
|
||||||
spi_set_command(SPI_BUS,1,1); // data mode
|
spi_set_command(SPI_BUS,1,1); // data mode
|
||||||
if (buf)
|
if (buf)
|
||||||
spi_transfer(SPI_BUS, buf, NULL, len, SPI_8BIT);
|
{
|
||||||
|
for (i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
spi_transfer(SPI_BUS, &buf[i], NULL, 1, SPI_8BIT);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
spi_repeat_send_8(SPI_BUS,0,len);
|
{
|
||||||
|
for (i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
spi_transfer_8(SPI_BUS, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue