久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
BS83B12A-3觸摸芯片與STM32通過IIC通信讀取觸摸芯片的按鍵值源碼
[打印本頁]
作者:
tzlwhh
時間:
2018-11-19 18:31
標題:
BS83B12A-3觸摸芯片與STM32通過IIC通信讀取觸摸芯片的按鍵值源碼
BS83B12A-3觸摸芯片與STM32通過IIC通信讀取觸摸芯片的按鍵值,BS83B12A-3的程序,stm32F103C8T6的程序,壓縮包里面都有
0.png
(6.68 KB, 下載次數: 101)
下載附件
2018-11-19 18:33 上傳
單片機源程序如下:
#include "BS83B12A-3.h"
#include "USER_PROGRAM/USER_PROGRAM.CEX"
#include "BS83B12A_LIBV413/BS83B12A_LIBV413.CEX"
#define u8 unsigned char
#define u16 unsigned int
#define RxNum 5
#define TxNum 5
volatile unsigned char IICRxCnt=0,IICTxCnt=0;//iic接收、發送數據計數器
volatile unsigned char IICRxData[RxNum],IICTxData[TxNum];//接收、發送緩存 數量為5
volatile bit IICRxOK=0,IICTxOK=0;//接收、發送完成標志位
//宏定義各個LED對應的管腳
#define LEDCOM _pb4 //LED公共管腳
#define LED0 _pa4
//函數庫的初始化 相當于不用函數庫時while(1)前面的初始化
void USER_PROGRAM_INITIAL()
{
//IIC_Init
_pac2 = 1; //SCL
_pac0 = 1; //SDA
_sima = 0xA0;
_simc0 = 0xC2;
//_rnic=1;
_simf = 0;
_sime = 1;
_emi = 1; // 總中斷使能
IICTxData[0]='0';
IICTxData[1]='1';
IICTxData[2]='2';
IICTxData[3]='\r';
IICTxData[4]='\n';
//各個管腳設置為輸出
_pbc4=0;
_pac4 =0;
LEDCOM=0;
LED0 =0;
}
//函數庫的主循環 相當于不用函數庫時while(1)里面的循環
void USER_PROGRAM()
{
u8 temp;
GET_KEY_BITMAP();//將函數庫掃描的結果復制到DATA_BUF里
//DATA_BUF[0]的bit7-bit0 代表觸摸按鍵KEY8-KEY1
switch(DATA_BUF[0])
{
case 0x01:temp=0x31;break;
case 0x02:temp=0x32;break;
case 0x04:temp=0x33;break;
case 0x08:temp=0x34;break;
default:temp=0x30;break;
}
if(IICRxOK)
{
//將接收到 后三個字節返回,第一個字節為觸摸結果字節
IICTxData[0]=temp;
IICTxData[1]='-';
IICTxData[2]=IICRxData[2];
IICTxData[3]=IICRxData[3];
IICTxData[4]=IICRxData[4];
if(IICRxData[2] ==0X35)
{
LED0 = 1;
}
else
LED0 = 0;
IICRxOK=0;
}
}
//iic中斷
DEFINE_ISR(IIC_ISR, 0x10)
{
_clrwdt();
if(_haas) //地址匹配
{
_pc1=1;
if(_srw==0) //從機讀
{
_htx= 0;
_txak=0;
_acc=_simd;
}
else//從機寫
{
_htx = 1;
_simd =IICTxData[0];//從機寫第一個數據
IICTxCnt=1;
}
}
else//數據
{
if(_htx)//接收還是發送 1-發送 0-接收
{
if(_rxak)//從機未收到ack不再發送
{
_htx = 0;
_txak = 0;
_acc = _simd;
}
else //從機收到ack繼續發送
{
switch(IICTxCnt)//按順序把待發送的數據發送出去
{
case 1:_simd =IICTxData[1];break;
case 2:_simd =IICTxData[2];break;
case 3:_simd =IICTxData[3];break;
case 4:_simd =IICTxData[4];break;
}
IICTxCnt++;
if(IICTxCnt>=TxNum)
{
IICTxOK=1;//發送完成
IICTxCnt=0;
}
}
}
else//接收
{
_txak = 0;
IICRxData[IICRxCnt++]=_simd;//接收5個數據
if(IICRxCnt>=RxNum)
{
IICRxOK=1;//接收完成
IICRxCnt=0;
}
}
}
_simf = 0;
}
復制代碼
所有資料51hei提供下載:
STM32f103IICANDBS83B12A-13.rar
(326.23 KB, 下載次數: 129)
2018-11-19 18:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
leiguang
時間:
2018-11-19 20:06
good job
作者:
cyj1232
時間:
2019-6-4 15:01
學習學習
作者:
Colin_Jian
時間:
2019-6-19 09:37
最近剛好有個項目要用到這個觸摸芯片,下來參考參考
作者:
sky505
時間:
2019-7-5 13:46
學習,學習!
作者:
albertsou
時間:
2020-3-15 17:38
這個程序有人驗證過嗎?我怎么試了不行呀
,holtek的又不能仿真,在里//iic中斷里面放了些燈,看起來又有中斷產生。STM32這邊求與大神討論。
作者:
dbzbzbwx
時間:
2020-5-22 10:23
不錯的東西
作者:
dbzbzbwx
時間:
2020-5-22 10:23
有人驗證過嗎?講講
作者:
Haisi
時間:
2021-3-9 14:44
error: '_simtof' undeclared (first use in this function)
'project' - Total 1 error(s), 1 warning(s)
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
一区二区三区四区在线播放
|
九九久久精品
|
午夜成人免费视频
|
日日爽夜夜爽
|
91在线视频
|
天天操天天干天天
|
狠狠躁日日躁夜夜躁2022麻豆
|
91精品亚洲
|
风间由美一区二区三区
|
www.国产.com
|
久久99精品久久久久久琪琪
|
色婷婷一区二区三区四区
|
欧美不卡一区二区三区
|
久久伊人热
|
日本不卡一区二区
|
日韩成人一区二区
|
www.一区
|
91精品久久久久久久久
|
狠狠干天天干
|
国产精品高潮呻吟
|
亚洲综合在线播放
|
亚洲一区在线看
|
日韩a级片
|
久久在线
|
欧美日韩精品一区二区在线播放
|
黄色一级片网站
|
www.一级片
|
日韩在线视频一区
|
日日夜夜精品免费
|
欧美一二
|
在线日韩av
|
天天插天天狠天天透
|
一级特黄色片
|
国产免费一区二区三区免费视频
|
美女免费视频网站
|
免费在线观看黄
|
69福利视频
|
亚洲精品一区二区三
|
中文字幕在线不卡
|
亚洲一区二区三区在线视频
|
久久av免费
|