久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
IL0371 SSD1608 1.54inch墨水屏程序資料下載
[打印本頁(yè)]
作者:
夏念與你
時(shí)間:
2019-7-28 17:02
標(biāo)題:
IL0371 SSD1608 1.54inch墨水屏程序資料下載
E-Ink_1.54.7z
(148.96 KB, 下載次數(shù): 27)
2019-7-29 00:26 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
1.54寸墨水屏模塊 黑白屏模塊.7z
(2.71 MB, 下載次數(shù): 28)
2019-7-29 00:26 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
IL0373.pdf
(854.43 KB, 下載次數(shù): 17)
2019-7-28 17:21 上傳
點(diǎn)擊文件名下載附件
墨水屏驅(qū)動(dòng)芯片手冊(cè)
下載積分: 黑幣 -5
IL0371數(shù)據(jù)手冊(cè).pdf
(889.91 KB, 下載次數(shù): 22)
2019-7-28 17:21 上傳
點(diǎn)擊文件名下載附件
墨水屏驅(qū)動(dòng)芯片手冊(cè)
下載積分: 黑幣 -5
單片機(jī)源程序如下:
/*******************************************************************************/
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "Display_EPD_W21_spi.h"
#include "Display_EPD_W21.h"
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
ErrorStatus HSEStartUpStatus;
/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void NVIC_Configuration(void);
void GPIO_Configuration(void);
const unsigned char logo[] = {
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
^^^^^^^^^^^^^^^^^^
^^^^^^^^^中間省略
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
};
const unsigned char LUTDefault_part[31] = {
0x32, // command
/* 0x00,0x00,0x00,0x18,
0x18,0x18,0x18,0x00,
0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,
0x40,0x14,0x34,0x01,
0x00,0x00,0x00,0x00,
0x00,0x00,
*/
0x10 //C221 25C partial update waveform
,0x18
,0x18
,0x08
,0x18
,0x18
,0x08
,0x00
,0x00
,0x00
,0x00
,0x00
,0x00
,0x00
,0x00
,0x00
,0x00
,0x00
,0x00
,0x00
,0x13
,0x14
,0x44
,0x12
,0x00
,0x00
,0x00
,0x00
,0x00
,0x00
};
const unsigned char LUTDefault_full[31] = {
0x32, // command
/* 0x11,0x11,0x10,0x02, // full
0x02,0x22,0x22,0x22,
0x22,0x22,0x51,0x51,
0x55,0x88,0x08,0x08,
0x88,0x88,0x00,0x00,
0x34,0x23,0x12,0x21,
0x24,0x28,0x22,0x21,
0xA1,0x01
*/
0x02 //C221 25C Full update waveform
,0x02
,0x01
,0x11
,0x12
,0x12
,0x22
,0x22
,0x66
,0x69
,0x69
,0x59
,0x58
,0x99
,0x99
,0x88
,0x00
,0x00
,0x00
,0x00
,0xF8
,0xB4
,0x13
,0x51
,0x35
,0x51
,0x51
,0x19
,0x01
,0x00
};
//unsigned int IC_SWITCH;
//unsigned char vcom;
void lcd_chkstatus(void);
void lut_red(void);
void lut_bw(void);
void Ultrachip_red(void);
void Ultrachip(void);
void master_uc8154_init(void);
void Ultrachip_red1(void);
void Ultrachip1(void);
void pic_display(void);
unsigned char EPD_W21_ReadDATA(void);
void driver_delay_us(unsigned int xus)
{
for(;xus>1;xus--);
}
void driver_delay_xms(unsigned long xms)
{
unsigned long i = 0 , j=0;
for(j=0;j<xms;j++)
{
for(i=0; i<256; i++);
}
}
void parttest()
{
unsigned int i,j,k;
EPD_W21_WirteLUT((unsigned char *)LUTDefault_part);
EPD_W21_POWERON();
part_display(0x00,0x18,0xc7,0x00,0x00,0x00); // set ram
EPD_W21_UpdataDisplay((unsigned char *)logo,200,200);
EPD_W21_Update1();
driver_delay_xms(100000);
part_display(0x00,0x18,0xc7,0x00,0x00,0x00); // set ram
EPD_W21_UpdataDisplay((unsigned char *)logo,200,200);
driver_delay_xms(10000);
for(i=0;i<6;i++)
{
k=200-i*32-4;
j=k-32;
part_display(0x12,0x12,k%256,k/256,j%256,j/256); // set ram
EPD_W21_WriteDispRamMono(8, 32, 0x00); // white
EPD_W21_Update1();
driver_delay_xms(20000);
part_display(0x12,0x12,k%256,k/256,j%256,j/256); // set ram
EPD_W21_WriteDispRamMono(8, 32, 0x00); // white
driver_delay_xms(10000);
}
}
void EPD_init(void)
{
EPD_W21_Init(); // display
EPD_W21_WirteLUT((unsigned char *)LUTDefault_full);
EPD_W21_POWERON();
driver_delay_xms(30000);
EPD_W21_SetRamPointer(0x00,0xC7,0x00); // set ram
EPD_W21_WriteDispRam(200, 200, (unsigned char *)second); // white
EPD_W21_Update();
driver_delay_xms(300000);
EPD_W21_SetRamPointer(0x00,0xC7,0x00); // set ram
EPD_W21_WriteDispRam(200, 200, (unsigned char *)third); // white
EPD_W21_Update();
driver_delay_xms(200000);
EPD_W21_SetRamPointer(0x00,0xC7,0x00); // set ram
EPD_W21_WriteDispRam(200, 200, (unsigned char *)forth); // white
EPD_W21_Update();
driver_delay_xms(200000);
EPD_W21_SetRamPointer(0x00,0xC7,0x00); // set ram
EPD_W21_WriteDispRam(200, 200, (unsigned char *)five); // white
EPD_W21_Update();
driver_delay_xms(200000);
EPD_W21_SetRamPointer(0x00,0xC7,0x00); // set ram
EPD_W21_WriteDispRam(200, 200, (unsigned char *)logo); // white
EPD_W21_Update();
driver_delay_xms(100000);
EPD_W21_SetRamPointer(0x00,0xC7,0x00); // set ram
EPD_W21_WriteDispRam(200, 200, (unsigned char *)logo); // white
EPD_W21_Update();
driver_delay_xms(100000);
parttest();
}
/*******************************************************************************
* Function Name : main
* Description : Main program
* Input : None
* Output : None
* Return : None
#define NVIC_VectTab_FLASH misc.h
*******************************************************************************/
int main(void)
{
#ifdef DEBUG
debug();
#endif
// 系統(tǒng)時(shí)鐘設(shè)置
RCC_Configuration();
//GPIO參數(shù)設(shè)置
GPIO_Configuration();
EPD_init();
}
/***********************************************************
end file
***********************************************************/
/*******************************************************************************
* Function Name : RCC_Configuration
* Description : Configures the different system clocks.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void RCC_Configuration(void)
{
// 復(fù)位RCC時(shí)鐘配置(用于調(diào)試模式)
RCC_DeInit();
// 使能外部晶振
RCC_HSEConfig(RCC_HSE_ON);
// 等待外部晶振穩(wěn)定
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
// 設(shè)置鎖相環(huán)頻率PLLCLK = 8MHz * 9 = 72 MHz
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
}
else {
// 使能內(nèi)部晶振
RCC_HSICmd(ENABLE);
// 等待內(nèi)置振蕩器穩(wěn)定
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
// 設(shè)置鎖相環(huán)頻率PLLCLK = 8MHz/2 * 16 = 64 MHz
RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_16);
}
// 使能FLASH的預(yù)取緩沖
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
//設(shè)置代碼延時(shí)值,FLASH_Latency_2為兩個(gè)延時(shí)周期
FLASH_SetLatency(FLASH_Latency_2);
//設(shè)置系統(tǒng)總線時(shí)鐘
RCC_HCLKConfig(RCC_SYSCLK_Div1);
//設(shè)置高速設(shè)備總線時(shí)鐘,RCC_HCLK_Div1為系統(tǒng)時(shí)鐘除以1
RCC_PCLK2Config(RCC_HCLK_Div1);
//設(shè)置低速設(shè)備總線時(shí)鐘,RCC_HCLK_Div2為系統(tǒng)時(shí)鐘除以2
RCC_PCLK1Config(RCC_HCLK_Div2);
//使能鎖相環(huán)倍頻
RCC_PLLCmd(ENABLE);
// 等待鎖相環(huán)倍頻后的頻率穩(wěn)定
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
// 選擇鎖相環(huán)時(shí)鐘為系統(tǒng)時(shí)鐘源
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// 等待設(shè)置完成
while(RCC_GetSYSCLKSource() != 0x08);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |
RCC_APB2Periph_USART1|RCC_APB2Periph_AFIO,
ENABLE);
}
/*******************************************************************************
* 函數(shù)名 : GPIO_Configuration
* 描述 : 設(shè)置設(shè)置串口所用GPIO引腳的參數(shù)
* 輸入 : None
* 輸出 : None
* 返回 : None
*******************************************************************************/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 |GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5; //abcd OE ST LT0輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
/*******************************************************************************
* Function Name : NVIC_Configuration
* Description : Configures Vector Table base location.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void NVIC_Configuration(void)
{
//NVIC_InitTypeDef NVIC_InitStructure;
;
}
#ifdef DEBUG
/*******************************************************************************
* Function Name : assert_failed
* Description : Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* Input : - file: pointer to the source file name
* - line: assert_param error line source number
* Output : None
* Return : None
*******************************************************************************/
void assert_failed(u8* file, u32 line)
{
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* Infinite loop */
while (1)
{
}
}
#endif
復(fù)制代碼
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
成人欧美一区二区三区黑人孕妇
|
欧美老少妇
|
日韩中文字幕在线视频
|
国产精品久久久久久亚洲影视
|
成人在线视频免费观看
|
www.中文字幕.com
|
狠狠干av
|
成人午夜又粗又硬又大
|
亚洲另类自拍
|
亚洲视频精品
|
国产精品777
|
成人欧美一区二区三区黑人孕妇
|
精品日韩av
|
久久xxxx
|
成人在线网
|
国产精品久久久久久中文字
|
蜜臀久久99精品久久久久宅男
|
青青青草视频在线观看
|
亚洲精品社区
|
欧美一区二区三区视频
|
天天摸夜夜操
|
国产激情小视频
|
国产三级在线
|
丝袜美腿一区二区三区
|
亚洲一级免费视频
|
久久午夜影院
|
国产高潮在线观看
|
成人在线免费视频观看
|
亚洲最大av网站
|
国产精品天美传媒入口
|
日韩二三区
|
亚洲三区在线
|
色综合天天综合网天天狠天天
|
夜夜操夜夜
|
在线播放h
|
香蕉成人网
|
国产视频一区在线观看
|
色综合久久综合
|
夜夜操夜夜爽
|
亚洲免费网站
|
久草国产视频
|