魅族手机充电代码USSD代码是多少

2014年7月荣获微软MVP称号2013年7月 荣获微软MVP称号2012年7月 荣获微软MVP称号2011年7月 荣获微软MVP称号2010年7月 荣获微软MVP称号
2016年8月 硬件/嵌入开发大版内专家分月排行榜第一2016年6月 硬件/嵌入开发大版内专家分月排行榜第一2015年12月 硬件/嵌入开发大版内专家分月排行榜第一2015年7月 硬件/嵌入开发大版内专家分月排行榜第一2015年6月 硬件/嵌入开发大版内专家分月排行榜第一2015年4月 硬件/嵌入开发大版内专家分月排行榜第一2014年12月 硬件/嵌入开发大版内专家分月排行榜第一2014年10月 硬件/嵌入开发大版内专家分月排行榜第一2014年9月 硬件/嵌入开发大版内专家分月排行榜第一2014年8月 硬件/嵌入开发大版内专家分月排行榜第一2014年7月 硬件/嵌入开发大版内专家分月排行榜第一2014年5月 硬件/嵌入开发大版内专家分月排行榜第一2014年4月 硬件/嵌入开发大版内专家分月排行榜第一2014年3月 硬件/嵌入开发大版内专家分月排行榜第一2014年1月 硬件/嵌入开发大版内专家分月排行榜第一2013年12月 硬件/嵌入开发大版内专家分月排行榜第一2013年10月 硬件/嵌入开发大版内专家分月排行榜第一2013年9月 硬件/嵌入开发大版内专家分月排行榜第一2013年8月 硬件/嵌入开发大版内专家分月排行榜第一2013年7月 硬件/嵌入开发大版内专家分月排行榜第一2013年5月 硬件/嵌入开发大版内专家分月排行榜第一2013年4月 硬件/嵌入开发大版内专家分月排行榜第一2013年3月 硬件/嵌入开发大版内专家分月排行榜第一2012年12月 硬件/嵌入开发大版内专家分月排行榜第一2012年11月 硬件/嵌入开发大版内专家分月排行榜第一2011年3月 硬件/嵌入开发大版内专家分月排行榜第一2011年2月 硬件/嵌入开发大版内专家分月排行榜第一2009年10月 硬件/嵌入开发大版内专家分月排行榜第一2009年7月 硬件/嵌入开发大版内专家分月排行榜第一2009年6月 硬件/嵌入开发大版内专家分月排行榜第一2007年12月 硬件/嵌入开发大版内专家分月排行榜第一2003年6月 硬件/嵌入开发大版内专家分月排行榜第一2002年9月 硬件/嵌入开发大版内专家分月排行榜第一2002年8月 硬件/嵌入开发大版内专家分月排行榜第一2002年7月 硬件/嵌入开发大版内专家分月排行榜第一2002年5月 硬件/嵌入开发大版内专家分月排行榜第一2002年4月 硬件/嵌入开发大版内专家分月排行榜第一
2014年7月荣获微软MVP称号2013年7月 荣获微软MVP称号2012年7月 荣获微软MVP称号2011年7月 荣获微软MVP称号2010年7月 荣获微软MVP称号
2016年8月 硬件/嵌入开发大版内专家分月排行榜第一2016年6月 硬件/嵌入开发大版内专家分月排行榜第一2015年12月 硬件/嵌入开发大版内专家分月排行榜第一2015年7月 硬件/嵌入开发大版内专家分月排行榜第一2015年6月 硬件/嵌入开发大版内专家分月排行榜第一2015年4月 硬件/嵌入开发大版内专家分月排行榜第一2014年12月 硬件/嵌入开发大版内专家分月排行榜第一2014年10月 硬件/嵌入开发大版内专家分月排行榜第一2014年9月 硬件/嵌入开发大版内专家分月排行榜第一2014年8月 硬件/嵌入开发大版内专家分月排行榜第一2014年7月 硬件/嵌入开发大版内专家分月排行榜第一2014年5月 硬件/嵌入开发大版内专家分月排行榜第一2014年4月 硬件/嵌入开发大版内专家分月排行榜第一2014年3月 硬件/嵌入开发大版内专家分月排行榜第一2014年1月 硬件/嵌入开发大版内专家分月排行榜第一2013年12月 硬件/嵌入开发大版内专家分月排行榜第一2013年10月 硬件/嵌入开发大版内专家分月排行榜第一2013年9月 硬件/嵌入开发大版内专家分月排行榜第一2013年8月 硬件/嵌入开发大版内专家分月排行榜第一2013年7月 硬件/嵌入开发大版内专家分月排行榜第一2013年5月 硬件/嵌入开发大版内专家分月排行榜第一2013年4月 硬件/嵌入开发大版内专家分月排行榜第一2013年3月 硬件/嵌入开发大版内专家分月排行榜第一2012年12月 硬件/嵌入开发大版内专家分月排行榜第一2012年11月 硬件/嵌入开发大版内专家分月排行榜第一2011年3月 硬件/嵌入开发大版内专家分月排行榜第一2011年2月 硬件/嵌入开发大版内专家分月排行榜第一2009年10月 硬件/嵌入开发大版内专家分月排行榜第一2009年7月 硬件/嵌入开发大版内专家分月排行榜第一2009年6月 硬件/嵌入开发大版内专家分月排行榜第一2007年12月 硬件/嵌入开发大版内专家分月排行榜第一2003年6月 硬件/嵌入开发大版内专家分月排行榜第一2002年9月 硬件/嵌入开发大版内专家分月排行榜第一2002年8月 硬件/嵌入开发大版内专家分月排行榜第一2002年7月 硬件/嵌入开发大版内专家分月排行榜第一2002年5月 硬件/嵌入开发大版内专家分月排行榜第一2002年4月 硬件/嵌入开发大版内专家分月排行榜第一
2014年7月荣获微软MVP称号2013年7月 荣获微软MVP称号2012年7月 荣获微软MVP称号2011年7月 荣获微软MVP称号2010年7月 荣获微软MVP称号
2016年8月 硬件/嵌入开发大版内专家分月排行榜第一2016年6月 硬件/嵌入开发大版内专家分月排行榜第一2015年12月 硬件/嵌入开发大版内专家分月排行榜第一2015年7月 硬件/嵌入开发大版内专家分月排行榜第一2015年6月 硬件/嵌入开发大版内专家分月排行榜第一2015年4月 硬件/嵌入开发大版内专家分月排行榜第一2014年12月 硬件/嵌入开发大版内专家分月排行榜第一2014年10月 硬件/嵌入开发大版内专家分月排行榜第一2014年9月 硬件/嵌入开发大版内专家分月排行榜第一2014年8月 硬件/嵌入开发大版内专家分月排行榜第一2014年7月 硬件/嵌入开发大版内专家分月排行榜第一2014年5月 硬件/嵌入开发大版内专家分月排行榜第一2014年4月 硬件/嵌入开发大版内专家分月排行榜第一2014年3月 硬件/嵌入开发大版内专家分月排行榜第一2014年1月 硬件/嵌入开发大版内专家分月排行榜第一2013年12月 硬件/嵌入开发大版内专家分月排行榜第一2013年10月 硬件/嵌入开发大版内专家分月排行榜第一2013年9月 硬件/嵌入开发大版内专家分月排行榜第一2013年8月 硬件/嵌入开发大版内专家分月排行榜第一2013年7月 硬件/嵌入开发大版内专家分月排行榜第一2013年5月 硬件/嵌入开发大版内专家分月排行榜第一2013年4月 硬件/嵌入开发大版内专家分月排行榜第一2013年3月 硬件/嵌入开发大版内专家分月排行榜第一2012年12月 硬件/嵌入开发大版内专家分月排行榜第一2012年11月 硬件/嵌入开发大版内专家分月排行榜第一2011年3月 硬件/嵌入开发大版内专家分月排行榜第一2011年2月 硬件/嵌入开发大版内专家分月排行榜第一2009年10月 硬件/嵌入开发大版内专家分月排行榜第一2009年7月 硬件/嵌入开发大版内专家分月排行榜第一2009年6月 硬件/嵌入开发大版内专家分月排行榜第一2007年12月 硬件/嵌入开发大版内专家分月排行榜第一2003年6月 硬件/嵌入开发大版内专家分月排行榜第一2002年9月 硬件/嵌入开发大版内专家分月排行榜第一2002年8月 硬件/嵌入开发大版内专家分月排行榜第一2002年7月 硬件/嵌入开发大版内专家分月排行榜第一2002年5月 硬件/嵌入开发大版内专家分月排行榜第一2002年4月 硬件/嵌入开发大版内专家分月排行榜第一
2014年7月 硬件/嵌入开发大版内专家分月排行榜第二
2013年10月 硬件/嵌入开发大版内专家分月排行榜第三2013年6月 硬件/嵌入开发大版内专家分月排行榜第三2013年3月 硬件/嵌入开发大版内专家分月排行榜第三
2015年3月 Linux/Unix社区大版内专家分月排行榜第二2014年12月 Linux/Unix社区大版内专家分月排行榜第二2014年11月 Linux/Unix社区大版内专家分月排行榜第二2014年9月 Linux/Unix社区大版内专家分月排行榜第二2014年8月 Linux/Unix社区大版内专家分月排行榜第二2014年7月 Linux/Unix社区大版内专家分月排行榜第二2014年5月 Linux/Unix社区大版内专家分月排行榜第二2014年4月 Linux/Unix社区大版内专家分月排行榜第二
2014年3月 Linux/Unix社区大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。21ic官方微信-->
后使用快捷导航没有帐号?
stm32f407的串口中断收发数据的问题
&&已结帖(10)
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
主题帖子积分
专家等级:结帖率:90%
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
我目前想实现的功能是:1、利用串口接收中断不断从串口接收数据,2、再在主函数中对接收的数据进行处理:每满8个字节且数据有效时,判断每八个字节的第二个字节,当第二个字节为01时代表这八个字节为起始命令,从这八个字节后开始保存接下来的有效数据,3、当第二个字节为02时代表这八个字节为结束命令,则结束此段数据的接收,将已经接收的数据保存下来,重新接收数据,4、将起始命令和结束命令中间的这些命令(一个命令8个字节)通过串口中断发送出去。现在遇到的问题是,利用串口助手向下位机发送一次数据后,只返回了一些乱码,然后再发送数据时,就没有反应了。现在想解决的问题是串口中断里的操作,大家帮忙看看有什么问题没 。急!!void USART1_IRQHandler(void)
{
& &if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
& & & && & {
& & & && && &USART_ClearITPendingBit(USART1,USART_IT_RXNE);
& && && &*RXDPointer=USART_ReceiveData(USART1);
& & & & & & & && &RXDPointer++;
& & & & & & & && &if(DataSend!=0)
& & & & & & & && &&&{
& & & & & & & && && &&&USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);
& & & & & & & & & & & && & USART_ITConfig(USART1,USART_IT_TXE,ENABLE);
& & & & & & & && &&&}
& & & && &&&}
&&
& & & & if(DataSend!=0)
& & & && & {
& & & && && &DataSend--;
& & & & & & & &&&USART_SendData(USART1,*TXDPointer++);
& & & & & & & &&&while(USART_GetITStatus(USART1,USART_IT_TXE)==RESET);
& & & && & }
& & & && & else
& & & && & {
& & & && & & & & & TXDPointer=SendB
& & & & & & & & USART_ITConfig(USART1,USART_IT_TXE,DISABLE);
& & & & & & & & USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
& & & && & }& && && &
满意回复+4
别在中断里发,中断就用来接收数据,你在中断里while等待有可能接收数据丢了
那你把发送数据也放在主程序里处理看看;
你上面的程序逻辑上没什么问题;
unsigned int 是4字节的,memcpy是按字节拷贝的
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
主题帖子积分
专家等级:结帖率:90%
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
这个中断函数有错吗?这里的发送会影响到接收数据吗?
本帖最后由 penghuiyanbiyun 于
17:23 编辑
是我说得不清楚吗,为什么没有高手指点一下。。。。我现在想从最简单的功能开始实现,即把接收到的数据在中断中立即发送出去,主函数里只处理接收到的数据,然后通过不同的功能码进行点灯操作。现在是只要在中断里加发送就没法实现点灯,不加的话一切正常,可以正常的接收数据。这是接收中断,应该不需要使能发送中断吧?void USART1_IRQHandler(void)
{
& &if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
& && && &&&{
& && && && & USART_ClearITPendingBit(USART1,USART_IT_RXNE);
& && && &*RXDPointer=USART_ReceiveData(USART1);
& && && && && &&&USART_SendData(USART1,*RXDPointer);
& && && && && &&&while(USART_GetITStatus(USART1,USART_IT_TXE)==RESET);
& && && && & RXDPointer++;
& && && && && && && && && && && &&&
& && && && &}
& && && && && && && &
}&&
复制代码
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 39, 距离下一级还需 11 积分
实习生, 积分 39, 距离下一级还需 11 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 39, 距离下一级还需 11 积分
实习生, 积分 39, 距离下一级还需 11 积分
别在中断里发,中断就用来接收数据,你在中断里while等待有可能接收数据丢了
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
主题帖子积分
专家等级:结帖率:0%打赏:0.00受赏:38.00
主题帖子积分
那你把发送数据也放在主程序里处理看看;
你上面的程序逻辑上没什么问题;
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深工程师, 积分 10438, 距离下一级还需 9562 积分
资深工程师, 积分 10438, 距离下一级还需 9562 积分
主题帖子积分
专家等级:结帖率:91%
主题帖子积分
资深工程师, 积分 10438, 距离下一级还需 9562 积分
资深工程师, 积分 10438, 距离下一级还需 9562 积分
个人感觉问题在中断那里!!
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
主题帖子积分
专家等级:结帖率:90%
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
lyd0429 发表于
别在中断里发,中断就用来接收数据,你在中断里while等待有可能接收数据丢了 ...
2楼的那个中断函数没错的。只是一时大意写错了,把while(USART_GetITStatus(USART1,USART_IT_TXE)==RESET);
改为while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
就好了。可以将收到的数据都发出去,接收的数据也可以正常处理。现在主要是一楼的那个中断实现不了
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 39, 距离下一级还需 11 积分
实习生, 积分 39, 距离下一级还需 11 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 39, 距离下一级还需 11 积分
实习生, 积分 39, 距离下一级还需 11 积分
调试一下看看吧,中断里Datasend不为0,你把接收中断给关了吧
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
主题帖子积分
专家等级:结帖率:90%
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
lyd0429 发表于
调试一下看看吧,中断里Datasend不为0,你把接收中断给关了吧
接收中断是在DataSend不为0的时候关掉的,试过多次还是没成功。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
主题帖子积分
专家等级:结帖率:90%
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
mmuuss586 发表于
那你把发送数据也放在主程序里处理看看;
你上面的程序逻辑上没什么问题; ...
恩,我现在是直接把发送放在主函数里,挺成功的。可是现在又有一个问题,是关于memcpy函数的,
我只需要每次将接收到的数组的四个字节的数据传到目的数组,可是当我利用memcpy(WRCommPointer,ReceiveBuffer+2,4);
实际上每次只复制了一个字节过去,只有利用memcpy(WRCommPointer,ReceiveBuffer+2,16);
才能将四个字节全部复制过去,可是除了有效的这四个字节外,后面的12个字节全为0,不知道这是为什么,是不是跟什么内存地址有关?我这里ReceiveBuffer数组和*WRCommPointer都是unsigned int型。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 39, 距离下一级还需 11 积分
实习生, 积分 39, 距离下一级还需 11 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 39, 距离下一级还需 11 积分
实习生, 积分 39, 距离下一级还需 11 积分
unsigned int 是4字节的,memcpy是按字节拷贝的
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
主题帖子积分
专家等级:结帖率:90%
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
lyd0429 发表于
unsigned int 是4字节的,memcpy是按字节拷贝的
恩,这个我知道。我不明白的是 我只需要取四个字节的有效数据(比如说是01 02 03 04),是不是每个字节都占了四个字节的存储空间,所以才需要取16次?可是取了16次应该01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00,那为什么取出来的数是01 02 03 04 00 00 00 00 00 00 00 00 00 00 00 00??希望有理解的人指点!
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
主题帖子积分
专家等级:结帖率:90%
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
楼上这个问题有人明白吗??请指点一下好么、。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 445, 距离下一级还需 55 积分
资深技术员, 积分 445, 距离下一级还需 55 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深技术员, 积分 445, 距离下一级还需 55 积分
资深技术员, 积分 445, 距离下一级还需 55 积分
我们用的STM32F207,发上来的数据都是“00 00 。。。。”请高手帮忙
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
主题帖子积分
专家等级:结帖率:90%
主题帖子积分
资深技术员, 积分 321, 距离下一级还需 179 积分
资深技术员, 积分 321, 距离下一级还需 179 积分
hqtdzgs 发表于
我们用的STM32F207,发上来的数据都是“00 00 。。。。”请高手帮忙
没弄过207 ,不过你具体情况是什么?说来大家可以一起看看
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
技术新星奖章
人才类勋章
时间类勋章
技术领袖奖章
人才类勋章
时间类勋章
坚毅之洋流
发帖类勋章
荣誉元老奖章
等级类勋章
沉静之湖泊
发帖类勋章
精英会员奖章
等级类勋章
时间类勋章
技术高手奖章
人才类勋章
涓涓之细流
发帖类勋章F103 无法进入串口发送中断 请大家帮忙看一下【stm32吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:24,913贴子:
F103 无法进入串口发送中断 请大家帮忙看一下收藏
#include &stm32f10x.h&
void USART1_Init()
NVIC_InitTypeDef NVIC_InitS
GPIO_InitTypeDef GPIO_InitS
USART_InitTypeDef USART_InitS
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_Init(GPIOA, &GPIO_InitStructure);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_N
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure);
USART_Cmd(USART1, ENABLE);
USART_ITConfig(USART1, USART_IT_TC, ENABLE);
//USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);}
int global = 50;int main(void)
USART1_Init();
while (1){
USART_SendData(USART1, global);
}return 0;}
void USART1_IRQHandler(){
if(USART_GetITStatus(USART1, USART_IT_TC) != RESET)
USART_ClearFlag(USART1, USART_FLAG_TC);
global++;}我想发送数据时就进入中断,然而JLINK调试发现只有在执行USART_ITConfig(USART1, USART_IT_TC, ENABLE); 这一步时会进入一次中断,在主函数中发送字符时不会进入中断,求指点
亚马逊AWS-云创计划.最高可达10万元免费云资源!
没看懂你说的,是发不出数据,还是什么
io口的af模式rcc没有配置吧
这种级别的机器视觉,Cortex M4是可以做的,也就是STM32F4XX系列的单片机都是可以的的,407还有DCMI用于读取摄像头数据,配置好DMA就行。只是区分颜色,不辨别形状和位置的话,STM32可以胜任。
你直接找一个串口通信的例子程序跑一次,找找区别
使能发送中断写错了
自己百度吧
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或4989人阅读
C语言(19)
代码运行条件:
(1)&大端发送;
(2)&上位机发送一帧数据的时间间隔不能大于主循环周期;
(3)数据帧满足下面格式:&
帧头部(Head)
类型(Type)
长度(Length)
值(Value)
&&&& 0xaa& 0x55
void USART6_Init (void)
GPIO_InitTypeDef GPIO_InitS
USART_InitTypeDef USART_InitS
NVIC_InitTypeDef NVIC_InitS
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART6,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE); //修改
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;//修改
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);//修改
GPIO_PinAFConfig(GPIOC,GPIO_PinSource6,GPIO_AF_USART6);//修改
GPIO_PinAFConfig(GPIOC,GPIO_PinSource7,GPIO_AF_USART6); //修改
NVIC_InitStructure.NVIC_IRQChannel = USART6_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_N
USART_InitStructure.USART_Mode = USART_Mode_Tx|USART_Mode_Rx;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_Init(USART6,&USART_InitStructure);
USART_ITConfig(USART6,USART_IT_RXNE,ENABLE);//打开接收中断
USART_Cmd(USART6,ENABLE);
void USART6_IRQHandler()
unsigned char rCh;
static char rCnt = 0;
if(USART_GetITStatus(USART6,USART_IT_RXNE) != RESET)
rCh = USART_ReceiveData(USART6);
COM6_RecvBuf[rCnt] = rCh;
if(rCnt == 0)
//帧头0xAA
rCnt = (0xAA != rCh)?0:rCnt+1;
else if(rCnt == 1) //帧头0x55
rCnt = (0x55 != rCh)?0:rCnt+1;
else if(rCnt == 2) //类型type
//这里可以根据类型的范围进行如上的处理
else if(rCnt == 3) //长度len
else if(rCnt & 3) //值value
if(rCnt == 6+COM6_RecvBuf[3])
memcpy(COM6_RecvBufBck,COM6_RecvBuf,RECV_BUF_SZ);//缓冲
COM6_RecvFin = 1;
//通知主循环处理
main(void)
while(1)//该循环不能太慢,否则数据缓冲区会被部分修改
if(COM6_RecvFin == 1)
COM6_RecvFin = 0;
CMD_Analysis();//分析接收到的这帧数据
//在以后再仔细分析数据接收较快而处理较慢的问题吧,本课题主要讨论的是如何完整的接收一个数据帧,在数据源正确的情况下不丢帧
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:44212次
排名:千里之外
原创:43篇
(1)(4)(2)(1)(6)(1)(3)(3)(5)(5)(14)

我要回帖

更多关于 魅族手机硬件检测代码 的文章

 

随机推荐