共2条
1/1 1 跳转至页
问
我用MSP430f169连接ds1302和max3221e串行通信芯片,目的是取得ds1302的当前时间,和串口送过来的数据(年月日时分秒,保存在430的flash里)比较,如果已经超过当前时间,就开启或关闭继电器。我写程序的时候发现,430串行通信中这一句:
while((IFG1 & UTXIFG0)==0);
使430没有时间去读写ds1302,这是个死循环,直到有数据才能跳出来,大侠告诉我应该怎么能该接受串口数据接受串口数据,同时又要读1302的时间进行比较? 答 1: 不可能没人懂这个啊? 答 2: 采用串口接收中断方式,每当收到一组数据,即读ds1302的当前时间进行比较 答 3: 这是查询方式,你完全可以用中断方式接收 答 4: 有没有例子代码阿,让我明白明白。 答 5: 胡大可的c语言有 答 6: 楼主
最好不要随便就说没人懂,请教问题还是谦虚点好
另外,如果你对c430不了解可多多查书,这个问题并不难理解。 答 7: 你看不懂中国话么。我说的是“不可能没人懂”!意思是我相信肯定有人懂,只不过这些人没有时间回答。我自己顶一下怕帖子沉了。
像你这种既没有提供问题解决办法,也没有提供资料出处的毫无疑义的灌水行为应该封post. 答 8: 楼上的还没说明白吗?
如果你真的弄明白了中断和查询,随便哪本430的书对照寄存器设置一下就好了
对于这个简单的问题我相信那些大狭们是没兴趣跟你讨论的,怎么会给你贴代码
如果我想灌水也用不到这里 答 9: 你看好了,我说的“不可能没人懂”在2楼,那时候还没有人回答。
“术业有专攻”你学过没有。你可能水平很高,不屑于回答这样的问题,但有的是人愿意说上一两句,
比你这样的强多了,你看不惯就别张嘴。 答 10: “术业有专攻”我还大概知道什么意思,可我哪知道你这不是你的本行。既然这样,那是我误会了。
我也是低手,我张嘴了是想对刚进入本行的兄弟们提点意见,不要随便就让人家贴代码和原理图,至少得想想再说,不要想也不想,做也不做就让把别人的成果贡献出来。对这总现象我是有点看不惯,如果你以前是做别的,当然就是例外。我这些是说给刚进入本行和刚毕业的朋友的说的,如果有人看不惯我,就当废话算了。 答 11: //********************************************
IE1 |=URXIE0; //UTXIE0+中断允许,UBART0接受、发送中断允许,看门狗中断允许,spi
ME1 |=UTXE0+URXE0; //外部模块,UBAR0T01模块允许
ME2 |=USPIE1; //SPI模块允许
_EINT();
Inituart();
SPI_init();
timer_b_init();
adc12_init();
disp1();
}
//*******************************************************
void Inituart(void)
{
UCTL0 = CHAR;
UCTL0 &=~SWRST ;// SWRST复位,USART允许
UCTL0=0x30 ;// 控制寄存器8位数据位,一个停止位,无校验位
UTCTL0=0xb2 ;//0x30发送控制寄存器选择系统主时钟SMCLK
URCTL0=0x00 ;//0x00;//接收控制寄存器
UBR00=0x14 ;//0x74;//0xe9;//L0 //19200//9600//4800
UBR10=0x00 ;//0x01;//0x02;//H //3.579545M//波特率设置
UMCTL0=0xff ;//波特率调整寄存器9601.783798
//初始化寄存器UART0//232
}
//*******************************************************
#pragma vector=UART0RX_VECTOR
__interrupt void UART0RX(void)
{
rx_command[r0]= RXBUF0;
r0++&0x0f;
if ((r0==2)&&(rx_command[1]!=0XAA))
{
r0=1;
rx_command[0]= rx_command[1];
}
if ((r0==1)&&(rx_command[0]!=0X7E))
r0=0;
} 答 12: 物料,接受用中断,若还不行就在与1302通讯是关中断
while((IFG1 & UTXIFG0)==0);
使430没有时间去读写ds1302,这是个死循环,直到有数据才能跳出来,大侠告诉我应该怎么能该接受串口数据接受串口数据,同时又要读1302的时间进行比较? 答 1: 不可能没人懂这个啊? 答 2: 采用串口接收中断方式,每当收到一组数据,即读ds1302的当前时间进行比较 答 3: 这是查询方式,你完全可以用中断方式接收 答 4: 有没有例子代码阿,让我明白明白。 答 5: 胡大可的c语言有 答 6: 楼主
最好不要随便就说没人懂,请教问题还是谦虚点好
另外,如果你对c430不了解可多多查书,这个问题并不难理解。 答 7: 你看不懂中国话么。我说的是“不可能没人懂”!意思是我相信肯定有人懂,只不过这些人没有时间回答。我自己顶一下怕帖子沉了。
像你这种既没有提供问题解决办法,也没有提供资料出处的毫无疑义的灌水行为应该封post. 答 8: 楼上的还没说明白吗?
如果你真的弄明白了中断和查询,随便哪本430的书对照寄存器设置一下就好了
对于这个简单的问题我相信那些大狭们是没兴趣跟你讨论的,怎么会给你贴代码
如果我想灌水也用不到这里 答 9: 你看好了,我说的“不可能没人懂”在2楼,那时候还没有人回答。
“术业有专攻”你学过没有。你可能水平很高,不屑于回答这样的问题,但有的是人愿意说上一两句,
比你这样的强多了,你看不惯就别张嘴。 答 10: “术业有专攻”我还大概知道什么意思,可我哪知道你这不是你的本行。既然这样,那是我误会了。
我也是低手,我张嘴了是想对刚进入本行的兄弟们提点意见,不要随便就让人家贴代码和原理图,至少得想想再说,不要想也不想,做也不做就让把别人的成果贡献出来。对这总现象我是有点看不惯,如果你以前是做别的,当然就是例外。我这些是说给刚进入本行和刚毕业的朋友的说的,如果有人看不惯我,就当废话算了。 答 11: //********************************************
IE1 |=URXIE0; //UTXIE0+中断允许,UBART0接受、发送中断允许,看门狗中断允许,spi
ME1 |=UTXE0+URXE0; //外部模块,UBAR0T01模块允许
ME2 |=USPIE1; //SPI模块允许
_EINT();
Inituart();
SPI_init();
timer_b_init();
adc12_init();
disp1();
}
//*******************************************************
void Inituart(void)
{
UCTL0 = CHAR;
UCTL0 &=~SWRST ;// SWRST复位,USART允许
UCTL0=0x30 ;// 控制寄存器8位数据位,一个停止位,无校验位
UTCTL0=0xb2 ;//0x30发送控制寄存器选择系统主时钟SMCLK
URCTL0=0x00 ;//0x00;//接收控制寄存器
UBR00=0x14 ;//0x74;//0xe9;//L0 //19200//9600//4800
UBR10=0x00 ;//0x01;//0x02;//H //3.579545M//波特率设置
UMCTL0=0xff ;//波特率调整寄存器9601.783798
//初始化寄存器UART0//232
}
//*******************************************************
#pragma vector=UART0RX_VECTOR
__interrupt void UART0RX(void)
{
rx_command[r0]= RXBUF0;
r0++&0x0f;
if ((r0==2)&&(rx_command[1]!=0XAA))
{
r0=1;
rx_command[0]= rx_command[1];
}
if ((r0==1)&&(rx_command[0]!=0X7E))
r0=0;
} 答 12: 物料,接受用中断,若还不行就在与1302通讯是关中断
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |