外部
adc通道,我們現在用的是
a0腳,也就是
p00通道
把它設定成輸出的乙個模式。在程式中設定,**如下:
#include
#define hal_adc_ref_125v 0x00
#define hal_adc_dec064 0x00
#define hal_adc_chn_vdd3 0x0f
unsigned char cmd;
unsigned int read_vddvalue(void)
unsigned int value;
unsigned char tmpadccon3 = adccon3;
adcif=0;
adccon3=(hal_adc_ref_125v|hal_adc_dec064|hal_adc_chn_vdd3); //選擇乙個程序為
125v
的基準電壓,設定抽取率,選擇
adc的引腳
while(!adcif);
value=adcl>>2;
value|=((unsigned int)adch)<<6;
adccon3=tmpadccon3;
return (value);
#pragma vector = urx0_vector
__interrupt void uart0_isr(void)
urx0if = 0; // 清中斷標誌
cmd = u0dbuf;
void uartsendstring(char *data, int len)
unsigned int i;
for(i=0; iu0dbuf = *data++;
while(utx0if == 0);
utx0if = 0;
void inituart(unsigned int baudrate)
clkconcmd &= ~0x40; //設定系統時鐘源為
32mhz
晶振while(clkconsta & 0x40); //等待晶振穩定為
32mclkconcmd &= ~0x47; //設定系統主時鐘頻率為
32mhz
percfg = 0x00; //外設控制暫存器
usart 0的io
位置:0為p0
口位置1
p0sel = 0x0c; //p0_2,p0_3用作串列埠(外設功能)
p2dir &= ~0xc0; //p0優先作為
uart0
u0csr |= 0x80; //設定為
uart
方式switch(baudrate)
case 115200:
u0gcr = 11;
u0baud = 216; //波特率設為
115200
break;
case 9600:
u0gcr = 8;
u0baud = 59; //波特率設為
9600
break;
default:
u0gcr = 8;
u0baud = 59; //波特率設為
9600
break;
utx0if = 0; //uart0 tx中斷標誌初始置位
0u0csr |= 0x40; //允許接收
ien0 |= 0x84; //開總中斷允許接收中斷
* 程式入口函式
void main(void)
unsigned int vddvalue;
unsigned char buf[5]="0.0v";
inituart(115200);
while(1)
if(cmd=='a')
cmd = 0;
vddvalue=read_vddvalue();
vddvalue=(vddvalue*25)>>8;//(vddvalue*1.25/2^7)放大10倍
(vddvalue*12.5/2^7)
//(vddvalue*25/2^8)->(vddvalue*25)>>8
vddvalue=vddvalue*3;//vdd/3作為乙個
adc輸入通道,因此對該通道的檢測,得到
vdd/3
的值,那麼
vdd高行是這個值乘以
3buf[0]=vddvalue/10+'0';
buf[1]='.';
buf[2]=vddvalue%10+'0';
uartsendstring(buf,strlen(buf));
暫存器圖表:
執行結果,傳送乙個a產生乙個資料
如果採用其他的通道,轉換過後也是和這個一樣的,這裡暫存器有選擇的地方,就是用正電壓作為參考,使用內部的溫度感測器來採,對應的地方把它旋轉過來,最後可以傳播或者獲取這個相應的溫度資訊。
iOS藍芽4 0 BLE 開發
本文將一步一步講解如何使用corebluetooth框架來與各種可穿戴裝置進行通訊,使用 小公尺手環 來進行基本的測試。macbook pro mac os x 10.10 xcode 6.3.2 iphone 5s v8.1 小公尺手環 從上面這幅圖可以看到,我們的ios裝置是central,用來...
藍芽4 0(BLE)電子煙方案
電子香菸得到了越來越多的消費者的青睞。它不僅僅能讓吸菸者的健康不受到危害,而且還能讓他們的吸菸行為不受地點的限制。但是似乎有人認為 這些電子香菸的功能還 應該更強大點 近日,一種更加智慧型化的電子香菸問世,它就是smokio 據悉,這種電子香菸使用藍芽 針對這一產品市場,信馳達開發出藍芽4.0 電子...
藍芽4 0BLE協議棧介紹
問題 什麼是ble協議棧?ble協議棧與ble協議的關係?顧名思義,人類之間需要一種語言才能溝通,機器之間,電子之間也有乙個標準,也就是作為通訊標準,也就是通訊協議。協議 定義了一系列通訊標準,通訊雙方都按照這一標準,進行資料通訊。協議棧 協議的具體實現形式,實現的函式庫,韌體庫。把個個協議集合到了...