資源簡介
上次傳的程序有點BUG,魯棒性很不好,不能上電就運行。這次這個,上電后即可運行。程序是位操作的。

代碼片段和文件信息
#include?“ad7616.h“??
u8??AD_RD?=?1;
u16?AD_DATA[2];???//AD?CODE
u16?ad_f[36]?;//={0xffff123456789101112131415160x0d0a181920212223242526272829303132333435};
extern??u8?num_flag;
/**********************************************************
**?函數名:void?ad7616_init()
**?功能描述:?AD初始化
**?輸入參數:?無
**?輸出參數:?無
**?備????注:配置控制端口,并設初值
?????????????端口名稱???端口號?????初值????鎖定
?????????????RESET??????PG9?????????0???????0???
?????????????SEQEN??????PG8?????????0???????1???
?????????????SER/PAR????PG7?????????0???????1
?????????????WR?????????PG6?????????1???????0
?????????????RD?????????PG5?????????1???????0
?????????????CS?????????PG4?????????1???????0
?????????????CHSEL0/1/2?PG3/2/1?????0/0/0???1/1/1
?????????????CONVST?????PG0?????????0???????0
?????????????十六進制???????????????0x070???0x18E
***********************************************************/
void?ad7616_init()
{
????/*打開GPIOG的時鐘0000?0000?0001?0000?0000??第3位開始為GPIOA*/
RCC->APB2ENR?|=?1<<8;
???
????/*?設置GPIOG的為推挽輸出?*/
????GPIOG->CRL?&=?0x00000000;
????GPIOG->CRH?&=?0xFFFFFF00;
????GPIOG->CRL?|=?0x22222222;
????GPIOG->CRH?|=?0x00000022;
????;;;;
????/*?初始化為Io口?*/
????GPIOG->ODR?&=?0xF000;
????GPIOG->ODR?|=?0x0070;
????/*鎖定端口設置*/
????GPIOG->LCKR?|=?0x018E;
????/*******關斷模式********/
????/*?PG9置0*/
????GPIOG->ODR?&=?0xFDFF;
????delay_us(100);
????/*?PG9置1*/
????GPIOG->ODR?|=?0x0200;
????delay_ms(18);
????/***************/
????delay_ms(5);
????RESET_All();
????delay_ms(10);
????
}
/**********************************************************
**?函數名:void?RESET_All()
**?功能描述:?AD復位函數
**?輸入參數:?無
**?輸出參數:?無
**?備????注:無
***********************************************************/
void?RESET_All()
{
????delay_ms(1);
????/*?PG9置0*/
????GPIOG->ODR?&=?0xFDFF;
????delay_us(10);
????/*?PG9置1*/
????GPIOG->ODR?|=?0x0200;
????delay_ms(18);
}
void?RESET_Por()
{
????u8?i=10;
????/*?PG9置0*/
????GPIOG->ODR?&=?0xFDFF;
????do
????{
????}while(i--);
????/*?PG9置1*/
????GPIOG->ODR?|=?0x0200;
????delay_ms(16);
}
/**********************************************************
**?函數名:void?AD_Write(u16?CH)
**?功能描述:?AD寫數據
**?輸入參數:?需要寫入的數據
**?輸出參數:?無
**?備????注:CS?(PG4)?WR(PG6)置0
***********************************************************/
void?AD_Write(u16?CH)
{
????GPIOD_Out_Init();
????GPIOD->ODR?|=?CH;
????GPIOG->ODR?&=?~(1<<4);???//CS?(PG4)置0
????;;;;;
????GPIOG->ODR?&=?~(1<<6);???//WR?(PG6)置0
????;;;;;;;;;;;;;;;;;
????GPIOG->ODR?|=???1<<6;???//WR?(PG6)置1
????;;;;;
????GPIOG->ODR?|=???1<<4;???//CS?(PG4)置1
????GPIOD->ODR?&=?0x0000;
????
}
/**********************************************************
**?函數名:void?AD_Read(void)
**?功能描述:?從AD讀取數據
**?輸入參數:?無
**?輸出參數:?讀取的數據寫至AD_DATA中
**?備????注:CS?(PG4)?RD(PG5)置0???????
***********************************************************/
void?AD_Read(void)
{
????
????GPIOG->ODR?&=?~(1<<4);???//CS?(PG4)置0
????;
????GPIOG->ODR?&=?~(1<<5);???//RD?(PG5)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????77856??2018-12-14?16:01??Listing\Project.map
?????文件??????54476??2018-12-11?11:44??Listing\startup_stm32f10x_hd.lst
?????文件?????285512??2018-12-14?16:01??Output\ad7616.crf
?????文件???????1353??2018-12-14?16:01??Output\ad7616.d
?????文件?????320440??2018-12-14?16:01??Output\ad7616.o
?????文件?????270766??2017-07-25?20:45??Output\bsp_led.crf
?????文件????????779??2017-07-25?20:45??Output\bsp_led.d
?????文件?????287396??2017-07-25?20:45??Output\bsp_led.o
?????文件?????270465??2017-07-25?20:45??Output\bsp_systick.crf
?????文件????????851??2017-07-25?20:45??Output\bsp_systick.d
?????文件?????291572??2017-07-25?20:45??Output\bsp_systick.o
?????文件???????3953??2018-12-11?11:44??Output\core_cm3.crf
?????文件????????121??2018-12-11?11:44??Output\core_cm3.d
?????文件??????11316??2018-12-11?11:44??Output\core_cm3.o
?????文件?????271067??2018-12-11?11:44??Output\delay.crf
?????文件????????751??2018-12-11?11:44??Output\delay.d
?????文件?????292260??2018-12-11?11:44??Output\delay.o
?????文件?????277571??2018-12-11?11:44??Output\dma.crf
?????文件????????811??2018-12-11?11:44??Output\dma.d
?????文件?????300220??2018-12-11?11:44??Output\dma.o
?????文件?????281050??2017-07-25?20:45??Output\encoder.crf
?????文件???????1002??2017-07-25?20:45??Output\encoder.d
?????文件?????304592??2017-07-25?20:45??Output\encoder.o
?????文件?????????19??2018-12-14?14:51??Output\ExtDll.iex
?????文件?????283591??2018-12-11?13:31??Output\exti.crf
?????文件???????1291??2018-12-11?13:31??Output\exti.d
?????文件?????307316??2018-12-11?13:31??Output\exti.o
?????文件?????283644??2018-12-11?13:30??Output\gpio_init.crf
?????文件???????1436??2018-12-11?13:30??Output\gpio_init.d
?????文件?????308364??2018-12-11?13:30??Output\gpio_init.o
............此處省略186個文件信息
- 上一篇:AD7616采集16通道并通過串口發送
- 下一篇:stm32普通直流電機串口控制模板
評論
共有 條評論