历史上的今天
今天是:2025年06月01日(星期日)
2018年06月01日 | STM32 UART2 中断函数的写法
2018-06-01 来源:eefocus
void USART2_IRQHandler(void)
{
uchar tmp;
//接收中断
if(USART_GetITStatus(USART2,USART_IT_RXNE)==SET) // 接收 中断
{
USART_ClearITPendingBit(USART2,USART_IT_RXNE); // U1RX_Clear_Intr_Status_Bit;
tmp=USART_ReceiveData(USART2);
}
//USART_IT_TXE // 发送中断
if( USART_GetITStatus(USART2, USART_IT_TXE) == SET ) //一个是TXE=发送数据寄存器空,
{
if(TIndex2 < TCount2)
{
USART_SendData(USART2, TxBuf2[TIndex2++]);
}
else if(TIndex2 == TCount2)
{
USART_SendData(USART2, 0x0D);
TIndex2 ++;
}
else
{ // 因为是 发送寄存器空 的中断,所以发完字符串后必须关掉,
// 否则只要空了,就会进中断 //送數據寄存器空標志位
//fTransmission_Complete=1;
USART_ITConfig(USART2, USART_IT_TXE, DISABLE);
//DIS_485TX(); 为避免提前关闭,导致的发送不全.移至 外部Timer中控制.
}
}
//溢出-如果发生溢出需要先读SR,再读DR寄存器 则可清除不断入中断的问题
if(USART_GetFlagStatus(USART2,USART_FLAG_ORE)==SET)
{
USART_ClearFlag(USART2,USART_FLAG_ORE); // 读SR
USART_ReceiveData(USART2); // 读DR
}
}
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 08:58 编辑 文件有些大 直接传地址了: http://www.getsoon.com.cn/upload/software/NEC.rar … 查看全部问答> |
|
当我们还在为怎么学arm烦恼时,其实在51中也包含着嵌入式的基础---51的实时操作系统,在一个程序要求越来越强的时候,我们要求程序的效率也越来越高,而要体现出这个现实的话也只有操作系统!其实操作系统我们随处可见,我们现在用的windows等等, ...… 查看全部问答> |
|
PCF8576CTsoftware_LCD驱动器原理.pdf 本帖最后由 paulhyde 于 2014-9-15 09:25 编辑 PCF8576CTsoftware_LCD驱动器原理.pdf … 查看全部问答> |
|
printf格式化输出时是相对位置,怎么才能控制相对于一行的开头呢? 本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata 问大家一个问题,一般printf格式化输出时是相对位置,相对于前面的字符,怎么才能控制相对于一行的开头呢?… 查看全部问答> |
|
加上 #include 我想用 IImagingFactory 和 IImage 加载 PNG 图片,加上 #include 后编译,怎么出现这么多错误?怎么解决呀? c:\\program files\\windows ce tools\\wce500\\standardsdk_500\\include\\armv4i\\gdipluspixelformats.h(61) : error ...… 查看全部问答> |
|
最近在移植Intel82559网卡驱动,发现初始化过程就出错,一直找不到时什么原因,请大家帮忙看一下。 我用的代码是参考freebsd的,初始化过程中发现给SCB COMMAND寄存器写入值时,状态寄存器没有任何变化,这会是什么原因呢?… 查看全部问答> |
|
我这个显示屏的控制器是T6963. 首先说说我对绘点函数的理解,看看我理解的是不是有问题: 假设我用的LCD的显示屏是 240 x 128点阵的单色屏。在纵向上,以 8 个点 为一个byte,如下图: 列0→ 列1→ 列2→ 列3→ … ...… 查看全部问答> |
|
把YAFFS文件系统挂载到/mnt/nand/文件夹下, 当flash里装满时,调用readdir函数查看/mnt/nand/目录下的文件, 程序经常卡死在这个地方,是不是YAFFS文件系统有什么缺陷呀?… 查看全部问答> |




