完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
定时器的初始化代码和中断代码如下
[C] 纯文本查看 复制代码 /* timer0 interrupt routine */void tm0_isr() interrupt 1 using 1{ number++; Uart1SendChar(number>>8); Uart1SendChar(number); }/* main program */void Timer0Init(void){ AUXR|=0x80; //???0?1T?? TMOD=0x00; TL0 = T1MS; //?????? TH0 = T1MS >> 8; EA = 1; TR0 = 1; //???0???? ET0 = 1; //?????0??} 串口1的初始化代码及发送字节函数如下,因为没用到接收函数所以就没写串口中断服务函数程序 [C] 纯文本查看 复制代码 void UART1_Init(unsigned short usBaud){ SCON = 0x50; //8-bit variable UART // TMOD |= 0x20; //¶¨Ê±Æ÷1¹¤×÷ÔÚģʽ2,8λ×Ô¶¯ÖØ×°// TH1 = TL1 = -(FOSC/12/32/usBaud); //Set auto-reload vaule// TR1 = 1; //Timer1 start run AUXR=0X11; BRT=-(FOSC/32/12/usBaud); ES = 1; //Enable UART interrupt EA = 1; TI = 1; }void Uart1SendChar(unsigned char ucSendChar)//·¢ËÍÒ»¸ö×Ö·û{ SBUF = ucSendChar; //Send data to UART buffer while(!TI); TI = 0;} 在主程序中测试时 Uart1SendChar可以正常发送数据,但是在定时器服务中断函数的发送函数却没用。。 请帮忙看看是哪里出的问题。。。 |
|
相关推荐
3个回答
|
|
https://zhidao.baidu.com/question/535271599.html
|
|
|
|
是因为 中断函数的问题,已经解决,谢谢~
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3284 浏览 9 评论
2960 浏览 16 评论
3464 浏览 1 评论
9008 浏览 16 评论
4054 浏览 18 评论
1126浏览 3评论
579浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
572浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2306浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1863浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 18:36 , Processed in 0.736768 second(s), Total 83, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号