完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
程序如下:
#include #define uchar unsigned char #define uint unsigned int #define MAX531_IO P3DIR |= 0xF0 #define CS_H P3OUT|=BIT7 #define CS_L P3OUT&=~BIT7 #define SCLK_H P3OUT|=BIT6 #define SCLK_L P3OUT&=~BIT6 #define DIN_H P3OUT|=BIT5 #define DIN_L P3OUT&=~BIT5 //************************************************************************** void InitSys() { uchar i; BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器 do { IFG1 &= ~OFIFG; //清除晶振失败标志 for (i = 0xFF; i > 0; i--); //等待8MHz晶体起振 } while ((IFG1 & OFIFG)); //晶振失效标志仍然存在? BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振 } /*******************************************************************/ void DelayNus(uint n) { uint i; for(i=0;i _NOP(); _NOP(); _NOP(); _NOP(); } } /**************************************************************************/ void DA_sendbyte(uint dat) { MAX531_IO; uint ch; uchar n=16; ch=dat; CS_H ; DelayNus(20); CS_L; SCLK_L; while(n--) //发送16位,可改变了N { if((ch&0x8000)==0x8000) DIN_H; //若发送的数据最高位为1,则发送1 else DIN_L; //否则发送0 DelayNus(20); SCLK_L; DelayNus(20); SCLK_H; ch=ch<<1;//数据左移一位 } DelayNus(20); CS_H; } /*******************************************************/ void da_init() { CS_H ; SCLK_H; } /************************************************************************/ void main(void) { WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer InitSys(); da_init(); DA_sendbyte(0x07ff); while(1); } 经调试后得不到输出电压 求解释 谢谢各位了
|
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
234 浏览 0 评论
514 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
826 浏览 0 评论
1366 浏览 2 评论
814 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16911 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 02:58 , Processed in 0.500634 second(s), Total 69, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4118