ADX345獲取加速度在LCD顯示

ADX345使用IIC讀取數據

IIC配置

方法一:使用IO模擬IIC操作

彩屏顯示使用之前修改好的ili9325的程序(lcd.c,lcd.h,gui.c,gui.h),在main.c中直接添加lcd_init()初始化函數抄伍,就可以使用lcd和gui中的繪圖或者顯示字符的函數了糖儡,不過需要注意要重定向printf輸出到串口白对。

IIC使用IO模擬,創(chuàng)建IIC初始化和讀寫函數

ADX345的相關操作

ADX345初始化操作

查看器件 ID简烘。ADXL345 的 ID 寄存器為 0x00

設置 ADXL345 存儲數據的方式和通信方式。寄存器地址為:0x31定枷。

設置數據的輸出速率設置的是 BW_RATE 寄存器孤澎,地址為:0x2C。

設置測量模式和鏈接模式

設置不啟用中斷欠窒,設置 INT_ENABLE 寄存器覆旭,設置它不使用中斷模式。

初始化偏移量岖妄,設置 OFSX 寄存器型将、OFSY 寄存器、OFSZ 寄存器荐虐。

讀寄存器操作

1) 發(fā)送起始信號

2) 發(fā)送 I2C 寫器件地址

3) 等待應答

4) 發(fā)送 I2C 要讀的寄存器地址

5) 等待應答

6) 發(fā)送起始信號

7) 發(fā)送 I2C 讀器件地址

8) 等待應答

9) 接收返回數據

10) 發(fā)送結束信號

寫寄存器操作

1) 發(fā)送起始信號

2) 發(fā)送 I2C 寫器件地址

3) 等待應答

4) 發(fā)送要寫入的寄存器地址

5) 等待應答

6) 發(fā)送要寫入的數據

7) 等待應答

8) 發(fā)送結束信號

注意讀到的為8位七兜,需要改成16位

uint8_t readValue[6];

|

*xValue = (uint16_t)(readValue[1] << 8) + readValue[0];

*yValue = (uint16_t)(readValue[3] << 8) + readValue[2];

*zValue = (uint16_t)(readValue[5] << 8) + readValue[4];

STM32CubeMX配置

需要添加得到文件

lcd

void LCD_Init(void);

void LCD_DisplayOn(void);

void LCD_DisplayOff(void);

void LCD_Clear(uint16_t Color);

void LCD_SetCursor(uint16_t Xpos, uint16_t Ypos);

void LCD_DrawPoint(uint16_t x,uint16_t y);//畫點

uint16_t? LCD_ReadPoint(uint16_t x,uint16_t y); //讀點

void LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);

void LCD_DrawRectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);

void LCD_SetWindows(uint16_t xStar, uint16_t yStar,uint16_t xEnd,uint16_t yEnd);

void LCD_DrawPoint_16Bit(uint16_t color);

uint16_t LCD_RD_DATA(void);//讀取LCD數據

void LCD_WriteReg(uint16_t LCD_Reg, uint16_t LCD_RegValue);

void LCD_WR_DATA(uint16_t data);

uint16_t LCD_ReadReg(uint8_t LCD_Reg);

void LCD_WriteRAM_Prepare(void);

void LCD_WriteRAM(uint16_t RGB_Code);

uint16_t LCD_ReadRAM(void);

uint16_t LCD_BGR2RGB(uint16_t c);

void LCD_SetParam(void);

gui

void GUI_DrawPoint(uint16_t x,uint16_t y,uint16_t color);

void LCD_Fill(uint16_t sx,uint16_t sy,uint16_t ex,uint16_t ey,uint16_t color);

void LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);

void LCD_DrawRectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);

void Draw_Circle(uint16_t x0,uint16_t y0,uint16_t fc,uint8_t r);

void LCD_ShowChar(uint16_t x,uint16_t y,uint16_t fc, uint16_t bc, uint8_t num,uint8_t size,uint8_t mode);

void LCD_ShowNum(uint16_t x,uint16_t y,uint32_t num,uint8_t len,uint8_t size);

void LCD_Show2Num(uint16_t x,uint16_t y,uint16_t num,uint8_t len,uint8_t size,uint8_t mode);

void LCD_ShowString(uint16_t x,uint16_t y,uint8_t size,uint8_t *p,uint8_t mode);

void GUI_DrawFont16(uint16_t x, uint16_t y, uint16_t fc, uint16_t bc, uint8_t *s,uint8_t mode);

void GUI_DrawFont24(uint16_t x, uint16_t y, uint16_t fc, uint16_t bc, uint8_t *s,uint8_t mode);

void GUI_DrawFont32(uint16_t x, uint16_t y, uint16_t fc, uint16_t bc, uint8_t *s,uint8_t mode);

void Show_Str(uint16_t x, uint16_t y, uint16_t fc, uint16_t bc, uint8_t *str,uint8_t size,uint8_t mode);

iic

void IIC_Config(void);

void IIC_Start(void);

void IIC_Stop(void);

void IIC_SendData(uint8_t dat);

uint8_t IIC_ReceiveData(uint8_t ack);

int8_t IIC_WaitAck(void);

adx345


在mian函數中添加顯示最終結果的程序福扬,注意將獲得的變量存入數組中腕铸,這樣就可以使用原有函數顯示變量了。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末铛碑,一起剝皮案震驚了整個濱河市狠裹,隨后出現的幾起案子,更是在濱河造成了極大的恐慌汽烦,老刑警劉巖涛菠,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異撇吞,居然都是意外死亡俗冻,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門梢夯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來言疗,“玉大人,你說我怎么就攤上這事颂砸≡胙伲” “怎么了死姚?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長勤篮。 經常有香客問我都毒,道長,這世上最難降的妖魔是什么碰缔? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任账劲,我火速辦了婚禮,結果婚禮上金抡,老公的妹妹穿的比我還像新娘瀑焦。我一直安慰自己,他們只是感情好梗肝,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布榛瓮。 她就那樣靜靜地躺著,像睡著了一般巫击。 火紅的嫁衣襯著肌膚如雪禀晓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天坝锰,我揣著相機與錄音粹懒,去河邊找鬼。 笑死顷级,一個胖子當著我的面吹牛凫乖,可吹牛的內容都是我干的。 我是一名探鬼主播愕把,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼拣凹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恨豁?” 一聲冷哼從身側響起嚣镜,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎橘蜜,沒想到半個月后菊匿,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡计福,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年跌捆,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片象颖。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡佩厚,死狀恐怖,靈堂內的尸體忽然破棺而出说订,到底是詐尸還是另有隱情抄瓦,我是刑警寧澤潮瓶,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站钙姊,受9級特大地震影響毯辅,放射性物質發(fā)生泄漏。R本人自食惡果不足惜煞额,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一思恐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧膊毁,春花似錦胀莹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缭召,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逆日,已是汗流浹背嵌巷。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留室抽,地道東北人搪哪。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像坪圾,于是被迫代替她去往敵國和親晓折。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內容