first commit
This commit is contained in:
commit
9005e49d82
3071 changed files with 1941927 additions and 0 deletions
150
e-Paper/STM32/STM32-F103ZET6/User/Config/DEV_Config.c
Normal file
150
e-Paper/STM32/STM32-F103ZET6/User/Config/DEV_Config.c
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
/*****************************************************************************
|
||||
* | File : DEV_Config.c
|
||||
* | Author : Waveshare team
|
||||
* | Function : Hardware underlying interface
|
||||
* | Info :
|
||||
* Used to shield the underlying layers of each master
|
||||
* and enhance portability
|
||||
*----------------
|
||||
* | This version: V2.0
|
||||
* | Date : 2018-10-30
|
||||
* | Info :
|
||||
# ******************************************************************************
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documnetation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
#include "DEV_Config.h"
|
||||
#include "stm32f1xx_hal_spi.h"
|
||||
|
||||
extern SPI_HandleTypeDef hspi1;
|
||||
void DEV_SPI_WriteByte(UBYTE value)
|
||||
{
|
||||
HAL_SPI_Transmit(&hspi1, &value, 1, 1000);
|
||||
}
|
||||
|
||||
void DEV_SPI_Write_nByte(UBYTE *value, UDOUBLE len)
|
||||
{
|
||||
HAL_SPI_Transmit(&hspi1, value, len, 1000);
|
||||
}
|
||||
|
||||
void DEV_GPIO_Mode(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, UWORD Mode)
|
||||
{
|
||||
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
if(Mode == 0) {
|
||||
GPIO_InitStruct.Pin = GPIO_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
} else {
|
||||
GPIO_InitStruct.Pin = GPIO_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
// Debug (" %d OUT \r\n",Pin);
|
||||
}
|
||||
}
|
||||
|
||||
void DEV_GPIO_Init()
|
||||
{
|
||||
HAL_SPI_MspDeInit(&hspi1);
|
||||
|
||||
//HAL_SPI_DeInit(&hspi1);
|
||||
// __HAL_RCC_SPI1_CLK_DISABLE();
|
||||
// HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_7);
|
||||
}
|
||||
|
||||
void DEV_SPI_Init()
|
||||
{
|
||||
HAL_SPI_MspInit(&hspi1);
|
||||
//HAL_SPI_DeInit(&hspi1);
|
||||
// __HAL_RCC_SPI1_CLK_DISABLE();
|
||||
// HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_7);
|
||||
}
|
||||
|
||||
|
||||
void DEV_SPI_SendData(UBYTE Reg)
|
||||
{
|
||||
UBYTE i,j=Reg;
|
||||
DEV_GPIO_Mode(EPD_MOSI_PIN, 1);
|
||||
DEV_GPIO_Mode(EPD_SCLK_PIN, 1);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
for(i = 0; i<8; i++)
|
||||
{
|
||||
DEV_Digital_Write(EPD_SCLK_PIN, 0);
|
||||
if (j & 0x80)
|
||||
{
|
||||
DEV_Digital_Write(EPD_MOSI_PIN, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
DEV_Digital_Write(EPD_MOSI_PIN, 0);
|
||||
}
|
||||
|
||||
DEV_Digital_Write(EPD_SCLK_PIN, 1);
|
||||
j = j << 1;
|
||||
}
|
||||
DEV_Digital_Write(EPD_SCLK_PIN, 0);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 1);
|
||||
}
|
||||
|
||||
UBYTE DEV_SPI_ReadData()
|
||||
{
|
||||
UBYTE i,j=0xff;
|
||||
DEV_GPIO_Mode(EPD_MOSI_PIN, 0);
|
||||
DEV_GPIO_Mode(EPD_SCLK_PIN, 1);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
for(i = 0; i<8; i++)
|
||||
{
|
||||
DEV_Digital_Write(EPD_SCLK_PIN, 0);
|
||||
j = j << 1;
|
||||
if (DEV_Digital_Read(EPD_MOSI_PIN))
|
||||
{
|
||||
j = j | 0x01;
|
||||
}
|
||||
else
|
||||
{
|
||||
j= j & 0xfe;
|
||||
}
|
||||
DEV_Digital_Write(EPD_SCLK_PIN, 1);
|
||||
}
|
||||
DEV_Digital_Write(EPD_SCLK_PIN, 0);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 1);
|
||||
return j;
|
||||
}
|
||||
|
||||
int DEV_Module_Init(void)
|
||||
{
|
||||
DEV_Digital_Write(EPD_DC_PIN, 0);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
DEV_Digital_Write(EPD_PWR_PIN, 1);
|
||||
DEV_Digital_Write(EPD_RST_PIN, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void DEV_Module_Exit(void)
|
||||
{
|
||||
DEV_Digital_Write(EPD_DC_PIN, 0);
|
||||
DEV_Digital_Write(EPD_CS_PIN, 0);
|
||||
|
||||
//close 5V
|
||||
DEV_Digital_Write(EPD_PWR_PIN, 0);
|
||||
DEV_Digital_Write(EPD_RST_PIN, 0);
|
||||
}
|
||||
|
||||
95
e-Paper/STM32/STM32-F103ZET6/User/Config/DEV_Config.h
Normal file
95
e-Paper/STM32/STM32-F103ZET6/User/Config/DEV_Config.h
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
/*****************************************************************************
|
||||
* | File : DEV_Config.h
|
||||
* | Author : Waveshare team
|
||||
* | Function : Hardware underlying interface
|
||||
* | Info :
|
||||
* Used to shield the underlying layers of each master
|
||||
* and enhance portability
|
||||
*----------------
|
||||
* | This version: V2.0
|
||||
* | Date : 2018-10-30
|
||||
* | Info :
|
||||
* 1.add:
|
||||
* UBYTE\UWORD\UDOUBLE
|
||||
* 2.Change:
|
||||
* EPD_RST -> EPD_RST_PIN
|
||||
* EPD_DC -> EPD_DC_PIN
|
||||
* EPD_CS -> EPD_CS_PIN
|
||||
* EPD_BUSY -> EPD_BUSY_PIN
|
||||
* 3.Remote:
|
||||
* EPD_RST_1\EPD_RST_0
|
||||
* EPD_DC_1\EPD_DC_0
|
||||
* EPD_CS_1\EPD_CS_0
|
||||
* EPD_BUSY_1\EPD_BUSY_0
|
||||
* 3.add:
|
||||
* #define DEV_Digital_Write(_pin, _value) bcm2835_gpio_write(_pin, _value)
|
||||
* #define DEV_Digital_Read(_pin) bcm2835_gpio_lev(_pin)
|
||||
* #define DEV_SPI_WriteByte(__value) bcm2835_spi_transfer(__value)
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
******************************************************************************/
|
||||
#ifndef _DEV_CONFIG_H_
|
||||
#define _DEV_CONFIG_H_
|
||||
|
||||
#include "main.h"
|
||||
#include "stm32f1xx_hal.h"
|
||||
#include "stm32f1xx_hal_gpio.h"
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/**
|
||||
* data
|
||||
**/
|
||||
#define UBYTE uint8_t
|
||||
#define UWORD uint16_t
|
||||
#define UDOUBLE uint32_t
|
||||
|
||||
/**
|
||||
* e-Paper GPIO
|
||||
**/
|
||||
#define EPD_RST_PIN RST_GPIO_Port, RST_Pin
|
||||
#define EPD_DC_PIN DC_GPIO_Port, DC_Pin
|
||||
#define EPD_PWR_PIN PWR_GPIO_Port, PWR_Pin
|
||||
#define EPD_CS_PIN SPI_CS_GPIO_Port, SPI_CS_Pin
|
||||
#define EPD_BUSY_PIN BUSY_GPIO_Port, BUSY_Pin
|
||||
#define EPD_MOSI_PIN DIN_GPIO_Port, DIN_Pin
|
||||
#define EPD_SCLK_PIN SCK_GPIO_Port, SCK_Pin
|
||||
|
||||
/**
|
||||
* GPIO read and write
|
||||
**/
|
||||
#define DEV_Digital_Write(_pin, _value) HAL_GPIO_WritePin(_pin, _value == 0? GPIO_PIN_RESET:GPIO_PIN_SET)
|
||||
#define DEV_Digital_Read(_pin) HAL_GPIO_ReadPin(_pin)
|
||||
|
||||
/**
|
||||
* delay x ms
|
||||
**/
|
||||
#define DEV_Delay_ms(__xms) HAL_Delay(__xms);
|
||||
|
||||
void DEV_SPI_WriteByte(UBYTE value);
|
||||
void DEV_SPI_Write_nByte(UBYTE *value, UDOUBLE len);
|
||||
|
||||
int DEV_Module_Init(void);
|
||||
void DEV_Module_Exit(void);
|
||||
void DEV_GPIO_Init(void);
|
||||
void DEV_SPI_Init(void);
|
||||
void DEV_SPI_SendData(UBYTE Reg);
|
||||
UBYTE DEV_SPI_ReadData(void);
|
||||
#endif
|
||||
24
e-Paper/STM32/STM32-F103ZET6/User/Config/Debug.h
Normal file
24
e-Paper/STM32/STM32-F103ZET6/User/Config/Debug.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/*****************************************************************************
|
||||
* | File : Debug.h
|
||||
* | Author : Waveshare team
|
||||
* | Function : debug with printf
|
||||
* | Info :
|
||||
* Image scanning
|
||||
* Please use progressive scanning to generate images or fonts
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2018-01-11
|
||||
* | Info : Basic version
|
||||
*
|
||||
******************************************************************************/
|
||||
#ifndef __DEBUG_H
|
||||
#define __DEBUG_H
|
||||
|
||||
#define DEBUG 1
|
||||
#if DEBUG
|
||||
#define Debug(__info,...) printf("Debug: " __info,##__VA_ARGS__)
|
||||
#else
|
||||
#define Debug(__info,...)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue