資源簡介
在Keil5下寫的STM32F103C例程,基于STM32F103Cx最小系統(tǒng)板, 采用定時器Tim3計時,定時器Tim4輸出PWM并由定時器Tim3進(jìn)行PWM捕獲,顯示可以采用I2C接口的0.96寸OLED,或SPI4線接口的0.96寸OLED,或1.44寸LCD, 或JXL12864-086,內(nèi)含所以調(diào)試通過的項目文件和驅(qū)動文件。與其他keil4下的項目代碼比,更超值!

代碼片段和文件信息
#include?“l(fā)cd.h“
#include?“string.h“
#include?“font.h“?
#include?“..\SRC\delay.h“
#include?“gui.h“
//******************************************************************
//功能:????GUI描繪一個點
//輸入?yún)?shù):x:光標(biāo)位置x坐標(biāo)
//???????? y:光標(biāo)位置y坐標(biāo)
// color:要填充的顏色
//返回值:??無
//修改記錄:無
//******************************************************************
void?GUI_DrawPoint(u16?xu16?yu16?color)
{
LCD_SetCursor(xy);//設(shè)置光標(biāo)位置?
LCD_WR_DATA_16Bit(color);?
}
//******************************************************************
//功能:????在指定區(qū)域內(nèi)填充顏色
//輸入?yún)?shù):sx:指定區(qū)域開始點x坐標(biāo)
//???????? sy:指定區(qū)域開始點y坐標(biāo)
// ex:指定區(qū)域結(jié)束點x坐標(biāo)
// ey:指定區(qū)域結(jié)束點y坐標(biāo)
//???????? color:要填充的顏色
//返回值:??無
//修改記錄:無
//******************************************************************
void?LCD_Fill(u16?sxu16?syu16?exu16?eyu16?color)
{??
u16?ij;
u16?width=ex-sx+1;? //得到填充的寬度
u16?height=ey-sy+1; //高度
LCD_SetWindows(sxsyex-1ey-1);//設(shè)置顯示窗口
for(i=0;i {
for(j=0;j LCD_WR_DATA_16Bit(color); //寫入數(shù)據(jù)? ?
}
LCD_SetWindows(00lcddev.width-1lcddev.height-1);//恢復(fù)窗口設(shè)置為全屏
}
//******************************************************************
//功能:????GUI畫線
//輸入?yún)?shù):x1y1:起點坐標(biāo)
//???????? x2y2:終點坐標(biāo)?
//返回值:??無
//修改記錄:無
//******************************************************************?
void?LCD_DrawLine(u16?x1?u16?y1?u16?x2?u16?y2)
{
u16?t;?
int?xerr=0yerr=0delta_xdelta_ydistance;?
int?incxincyuRowuCol;?
delta_x=x2-x1;?//計算坐標(biāo)增量?
delta_y=y2-y1;?
uRow=x1;?
uCol=y1;?
if(delta_x>0)incx=1;?//設(shè)置單步方向?
else?if(delta_x==0)incx=0;//垂直線?
else?{incx=-1;delta_x=-delta_x;}?
if(delta_y>0)incy=1;?
else?if(delta_y==0)incy=0;//水平線?
else{incy=-1;delta_y=-delta_y;}?
if(?delta_x>delta_y)distance=delta_x;?//選取基本增量坐標(biāo)軸?
else?distance=delta_y;?
for(t=0;t<=distance+1;t++?)//畫線輸出?
{??
LCD_DrawPoint(uRowuCol);//畫點?
xerr+=delta_x?;?
yerr+=delta_y?;?
if(xerr>distance)?
{?
xerr-=distance;?
uRow+=incx;?
}?
if(yerr>distance)?
{?
yerr-=distance;?
uCol+=incy;?
}?
}??
}?
//******************************************************************
//功能:????GUI畫矩形(非填充)
//輸入?yún)?shù):(x1y1)(x2y2):矩形的對角坐標(biāo)
//返回值:??無
//修改記錄:無
//******************************************************************??
void?LCD_DrawRectangle(u16?x1?u16?y1?u16?x2?u16?y2)
{
LCD_DrawLine(x1y1x2y1);
LCD_DrawLine(x1y1x1y2);
LCD_DrawLine(x1y2x2y2);
LCD_DrawLine(x2y1x2y2);
}??
//******************************************************************
//功能:????GUI畫矩形(填充)
//輸入?yún)?shù):(x1y1)(x2y2):矩形的對角坐標(biāo)
//返回值:??無
//修改記錄:無
//******************************************************************???
void?LCD_DrawFillRectangle(u16?x1?u16?y1?u16?x2?u16?y2)
{
LCD_Fill(x1y1x2y2POINT_COLOR);
}
?
//******************************************************************
//功能:????8對稱性畫圓算法(內(nèi)部調(diào)用)
//輸入?yún)?shù):(xcyc)?:圓中心坐標(biāo)
//? (xy):光標(biāo)相對于圓心的坐標(biāo)
//????????? c:填充的顏色
//返回值:??無
//修改記錄:無
//*************
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????89085??2018-03-06?00:26??Jli
?????文件?????????755??2018-01-20?18:57??Jli
?????目錄???????????0??2018-03-05?18:58??LCD\
?????文件???????15971??2018-02-22?21:36??LCD\GUI.c
?????文件??????????72??2014-11-12?12:16??LCD\LCD_Config.h
?????文件??????182033??2015-10-25?15:22??LCD\Picture.h
?????文件???????25482??2015-11-03?09:56??LCD\font.h
?????文件????????1167??2015-11-03?10:13??LCD\gui.h
?????文件???????12471??2018-02-22?22:24??LCD\lcd.c
?????文件????????4728??2018-02-22?22:37??LCD\lcd.h
?????目錄???????????0??2018-03-05?17:31??Listings\
?????文件??????113728??2018-03-07?15:52??Listings\TestStm32F103Cb.map
?????文件???????43929??2018-03-07?15:52??Listings\startup_stm32f10x_md.lst
?????目錄???????????0??2018-03-05?17:31??RTE\
?????目錄???????????0??2018-03-05?17:31??RTE\CMSIS\
?????文件???????11181??2015-03-13?15:14??RTE\CMSIS\RTX_Conf_CM.c.0000
?????目錄???????????0??2018-03-05?17:31??RTE\Device\
?????目錄???????????0??2018-03-05?17:31??RTE\Device\STM32F103C8\
?????文件???????55603??2018-01-20?21:43??RTE\Device\STM32F103C8\RTE_Device.h
?????文件???????55603??2013-09-26?01:08??RTE\Device\STM32F103C8\RTE_Device.h.0000
?????文件???????12765??2012-01-24?12:06??RTE\Device\STM32F103C8\startup_stm32f10x_md.s
?????文件???????12765??2012-01-24?12:06??RTE\Device\STM32F103C8\startup_stm32f10x_md.s.0000
?????文件????????4164??2014-07-04?16:13??RTE\Device\STM32F103C8\stm32f10x_conf.h
?????文件????????4164??2014-07-04?16:13??RTE\Device\STM32F103C8\stm32f10x_conf.h.0000
?????文件???????36557??2012-01-24?12:06??RTE\Device\STM32F103C8\system_stm32f10x.c
?????文件???????36557??2012-01-24?12:06??RTE\Device\STM32F103C8\system_stm32f10x.c.0000
?????目錄???????????0??2018-03-05?17:31??RTE\Device\STM32F103CB\
?????文件???????55603??2013-09-26?01:08??RTE\Device\STM32F103CB\RTE_Device.h.0000
?????文件???????55603??2013-09-26?01:08??RTE\Device\STM32F103CB\RTE_Device.h.0001
?????文件???????12765??2012-01-24?12:06??RTE\Device\STM32F103CB\startup_stm32f10x_md.s.0000
?????文件???????12765??2012-01-24?12:06??RTE\Device\STM32F103CB\startup_stm32f10x_md.s.0001
............此處省略24個文件信息
評論
共有 條評論