資源簡介
基于stm32控制器數模轉換芯片DAC124s085底層驅動
實測可用?。。。。。。。。。。。。。。。。。。。。。。。。。。?img width=510 src=http://www.sh-liguang.com/pic/50272.jpg />
代碼片段和文件信息
S#include?“valve_dac.h“
void?SPI2_Init()??//SPI2初始化
{
GPIO_InitTypeDef??GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB?ENABLE);
GPIO_InitStructure.GPIO_Pin?=?SCLK_Pin; ???????//SCLK
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;? ?//復用推挽輸出
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz; ?//IO口速度為50MHz
GPIO_Init(SCLK_GPIO?&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin?=?SYNC_Pin; ???????//SYNC
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;? ?//復用推挽輸出
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz; ?//IO口速度為50MHz
GPIO_Init(SYNC_GPIO?&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin?=?MOSI_Pin; ???????//MOSI
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP;?//浮空輸入
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz; ?//IO口速度為50MHz
GPIO_Init(MOSI_GPIO?&GPIO_InitStructure);
}
/*channel表示通道 對應1:A、2:B、3:C、4:D。
*?mode表示模式 分別為1234對應手冊中模式1,模式2,模式3,模式4。
*/
void?SPI2_WriteByte(u16?channelu16?modefloat?open)
{
u16?data;
int?cnt;
//15\14bit通道選擇
data&=0x3FFF;
channel=channel-1;
channel<<=14;
data|=channel;
//13\12bit模式選擇
data&=0xCFFF;
mode=mode-1;
mode<<=12;
data|=mode;
data&=0xF000;
open=open/VREF*4096;
data|=(u16)open;
SYNC_HIGH;
MOSI_HIGH;
SCLK_LOW;
delay_ms(1);
SYNC_LOW;
for(cnt=0;cnt<16;cnt++)
{
if(data&0x8000)
MOSI_HIGH;
else
MOSI_LOW;
SCLK_HIGH;
delay_ms(1);
data<<=1;
SCLK_LOW;
delay_ms(1);
}
SYNC_HIGH;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1570??2018-10-24?10:49??DAC124s085\dac124s085.c
?????文件?????????775??2018-05-11?21:15??DAC124s085\dac124s085.h
?????文件???????32540??2018-05-11?21:19??DAC124s085\readme.docx
?????目錄???????????0??2018-10-24?10:50??DAC124s085\
- 上一篇:KFDA 核fisher
- 下一篇:upx125w壓縮工具
評論
共有 條評論