完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目的是:将串口的数据存储下来,主程序再将数据调用。
问题是:当我把程序下载到430里面,连接好串口通讯,用串口发送数据给430后,能存下来,也能调用,可为什么当我复位后就不行了。 附程序:写数据到flash A void write_SegA (uchar *value, int n) { uchar *Flash_ptr; // Flash pointer uint i; Flash_ptr = (uchar *)(0x1080 + n); // Initialize Flash pointer FCTL1 = FWKEY + ERASE; // Set Erase bit FCTL3 = FWKEY; // Clear Lock bit *Flash_ptr = 0; // Dummy write to erase Flash segment FCTL1 = FWKEY + WRT; // Set WRT bit for write operation for (i=0; i { *Flash_ptr++ = value; // Write value to flash } FCTL1 = FWKEY; // Clear WRT bit FCTL3 = FWKEY + LOCK; // Set LOCK bit } 串口接收中断 #pragma vector=UART0RX_VECTOR __interrupt void UART0_RX_ISR(void) { static char RX_len_temp; Recptr[RX_len_temp]=RXBUF0; RX_len_temp++; if(Recptr[RX_len_temp-1]==0x0d) { RX_len=RX_len_temp; RX_flag=1; RX_len_temp=0; write_SegA(Recptr,0); } } string转int函数 unsigned long int string_to_int(unsigned char *ptr) { unsigned long int Data = 0; int i = 0; for(i = 0; ptr != ' '; i++) { Data = Data*10 + ptr-48; } return Data; } 将flash A中数据读出来 void ProcessCMD() {int i; data=(unsigned char *)0x1080; for(i=0;i { WorkTimeptr=*data++; } WorkTime=string_to_int(WorkTimeptr); } 定时器A中断 #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A0 (void) { n--; if(n<=WorkTime) P2OUT=0x00; if(n==0) {P2OUT=0xff; n=120;} } 主程序: void main() {P2DIR=0xFF; P2OUT=0xFF; WDTCTL=WDTPW+WDTHOLD; int_clk(); int_usart(); CCTL0 = CCIE; CCR0 = 4096; TACTL = TASSEL_1+ID_3 + MC_1; _EINT(); char i; ProcessCMD(); for(;;) { if(RX_flag==1) { RX_flag=0; for(i=0;i { tmpptr=Recptr; } UART_TX_BUF[0]='o'; UART_TX_BUF[1]='k'; for(i=0;i<2;i++) { while (!(IFG1 & UTXIFG0)); TXBUF0=UART_TX_BUF;//; } } } } |
|
相关推荐
2个回答
|
|
当我复位后,不发数据,读出来的数据就不是之前的写进去的数据,结果就不是想要的
|
|
|
|
430的segment A 和segment B各有128个字节用来存储保证掉电后不丢失
|
|
|
|
只有小组成员才能发言,加入小组>>
722 浏览 0 评论
1123 浏览 1 评论
2504 浏览 5 评论
2840 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2684 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
664浏览 9评论
679浏览 7评论
682浏览 5评论
665浏览 5评论
imx6dl芯片与imx6q芯片互换启动无反应请问是什么问题呢
280浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 11:30 , Processed in 1.142054 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号