久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
stm32f103c8t6最小系統驅動ads8681(ads8685,ads8689)測試程序
[打印本頁]
作者:
WP_51
時間:
2021-7-26 18:20
標題:
stm32f103c8t6最小系統驅動ads8681(ads8685,ads8689)測試程序
實驗器材:
stm32f103c8t6最小系統,ads8681(ads8685,ads8689)
實驗目的:
以硬件spi1驅動該ADC芯片工作讀取數據
硬件資源:
1.ads8681外圍電路請查看官方文檔設計。
2.引腳連接如下:
stm32f103c8t6 ads8681(AD)
PA5-----------------AD_SCK
硬件spi1引腳 PA6----------------AD_SDO_0
PA7-----------------AD_SDI
PB10----------------AD_RVS
PB11----------------AD_RST
PB12----------------AD_CS
其它說明:
1.本實驗只測試了ads8681芯片.根據官方文檔或可驅動ads8685以及ads8689芯片,具體請自行測試;
2.由于stm32f103c8t6的硬件spi時鐘最多為18Mhz,所以未能測試ads8681官方文檔所標注的1Msps采樣率;
3.代碼中驅動該adc芯片采用的是:Standard SPI with CPOL = 0 and CPHASE = 0 模式,如有需要請自行更改配置;
4.若使用更高速率單片機驅動,請自行研究移植,基本思路一致。
注意事項:
注意驅動電壓:
注意正負極連接短路!
STM32單片機源程序如下:
#include "ADS8681.h"
#include "spi.h"
#include "delay.h"
// 復位
void ADS8681_RST(){
AD_RST = 0;
delay_ms(30);
AD_RST = 1;
delay_ms(30);
}
void ADS8681_Init(){
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能PB端口時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12; //RST CS
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度為50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //根據設定參數初始化GPIOB
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//RVS
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉輸入
GPIO_Init(GPIOB, &GPIO_InitStructure);
SPI1_Init();
//AD_SCK=0;
ADS8681_RST();
ADS8681_Write_Register(0x14,0x000b);//配置電壓測量范圍,具體對應地址位14H的寄存器內容
}
//寫寄存器
void ADS8681_Write_Register(u8 Addr,u16 data) // 11010_00_<9-bit address>_<16-bit data>
{
u16 retry = 0;
AD_CS = 1;
AD_CS = 0;
while(AD_RVS){//判斷RVS狀態,下同
retry++;
if(retry>=0XFFFE)
break;
}
SPI1_ReadWriteByte((0xD0<<8)|Addr);
SPI1_ReadWriteByte(data&0xffff);
AD_CS = 1;
}
// 讀寄存器
u16 ADS8681_Read_Register(u8 Addr) // 11001_xx_<9-bit address>_00000000_00000000
{
u16 data1,data2;
u16 retry = 0;
AD_CS = 0;
while(AD_RVS){
retry++;
if(retry>=0Xff)
break;
}
SPI1_ReadWriteByte((0xC8<<8)|Addr);
SPI1_ReadWriteByte(0x0000);
AD_CS = 1;
retry = 0;
while(!AD_RVS){
retry++;
if(retry>=0Xff)
break;
}
AD_CS = 0;
retry = 0;
while(AD_RVS){
retry++;
if(retry>=0Xff)
break;
}
data1 = SPI1_ReadWriteByte(0x00);//低16位
data2 = SPI1_ReadWriteByte(0x00);//高16位
AD_CS = 1;
return (data2<<16)|data1;
}
// 讀取ads8681采樣值
u32 ADS8681_Read_ConversionData()
{
u16 data;
u16 retry = 0;
AD_CS = 1;
while(!AD_RVS){
retry++;
if(retry>=0xfffe)
break;
}
AD_CS = 0;
retry = 0;
while(AD_RVS){
retry++;
if(retry>=0xfffe)
break;
}
data = SPI1_ReadWriteByte(0x00);//里邊的地址任意,該處主要是讀取數據
return data;
}
復制代碼
致謝:
感謝相關人員提供的思路以及支持!
聲明:
只為提高技術,歡迎交流,不參與撕逼,如有雷同,純屬巧合。
全部代碼下載:
C8T6_ADS8681硬件spi.7z
(187.23 KB, 下載次數: 175)
2021-7-26 18:40 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
午夜精品国产精品大乳美女
|
亚洲综合网站
|
国产永久在线
|
精品国产一二三区
|
亚洲一区欧美一区
|
日韩精品成人
|
日本www视频
|
国产黄色精品
|
久久av免费
|
成年视频在线观看
|
女子spa高潮呻吟抽搐
|
日日干夜夜操
|
福利片在线观看
|
国产成人免费
|
国产寡妇亲子伦一区二区三区四区
|
国产黄a
|
a级片网址
|
成人黄色免费
|
成人高清视频在线观看
|
五月天激情影院
|
国产精品久久久久久久久久
|
免费在线看a
|
九九视频免费观看
|
aaaaaabbbbbb毛片
|
在线视频一区二区三区
|
密乳av
|
免费在线成人
|
欧美色综合网
|
久久依人
|
亚洲aaa
|
中国黄色1级片
|
国产成人免费观看
|
99国产精品99久久久久久
|
国产精品一区二区三区四区
|
欧美精品久
|
欧美成年人视频
|
久久精品2
|
黄色小视频免费在线观看
|
欧美一区二区在线视频
|
欧美日韩一区二
|
日本特级黄色片
|