求助,HAL库函数 串口中断接收,积极急急急急,加入悬赏

21ic官方微信
后使用快捷导航没有帐号?
查看: 1428|回复: 7
M0516怎样设置串口接收中断啊?
&&已结帖(15)
主题帖子积分
中级技术员, 积分 196, 距离下一级还需 104 积分
中级技术员, 积分 196, 距离下一级还需 104 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级技术员, 积分 196, 距离下一级还需 104 积分
中级技术员, 积分 196, 距离下一级还需 104 积分
:L今天买了一块M051的开发板,下载个UART程序到板上,用串口工具发送命令却无法接收到。
请各位同志帮下忙吧。
一下是例程,看看有什么不对:
#include &SmartM_M0.h&
/****************************************
*函数名称:UartInit
*输& & 入:unFosc & & & &&&晶振频率
& && && & unBaud& & & &&&波特率
*输& & 出:无
*功& & 能:串口初始化
******************************************/
VOID UartInit(UINT32 unFosc,UINT32 unBaud)
& & P3_MFP &= ~(P31_TXD0 | P30_RXD0);& &
& & P3_MFP |= (TXD0 | RXD0);& & & & & & & & & & //P3.0 使能为串口0接收
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & //P3.1 使能为串口0发送
& & UART0_Clock_EN;& && && &//串口0时钟使能
& & UARTClkSource_ex12MHZ;&&//串口时钟选择为外部晶振
& & CLKDIV &= ~(15&&8); & & & & //串口时钟分频为0
& & IPRSTC2 |= UART0_RST;& &//复位串口0
& & IPRSTC2 &= ~UART0_RST;&&//复位结束
& & UA0_FCR |= TX_RST;& && &//发送FIFO复位
& & UA0_FCR |= RX_RST;& && &//接收FIFO复位
& & UA0_LCR &= ~PBE;& &&&& & & & //校验位功能取消
& & & & UA0_LCR &= ~WLS;
& & UA0_LCR |= WL_8BIT;& &&&//8位数据位
& & UA0_LCR &= NSB_ONE;& &&&//1位停止位
& & UA0_BAUD |= DIV_X_EN|DIV_X_ONE;& &//设置波特率分频
& & UA0_BAUD |= ((unFosc / unBaud) -2);& & & & //波特率设置&&UART_CLK/(A+2) = 115200, UART_CLK=12MHz
& & & & UA0_IER& & & & |= RDA_IEN;& & & & & & & & & & & & & & & & & & & & //接收数据中断使能
& & & & NVIC_ISER |= UART0_INT;& & & &&&& & & & & & & & & & & & //使能串口0中断
/****************************************
*函数名称:UartSend
*输& & 入:pBuf & & & & & & & & & & & &&&发送数据缓冲区
& && && & unNumOfBytes& & & &&&发送字节总数
*输& & 出:无
*功& & 能:串口发送数据
******************************************/
VOID UartSend(UINT8 *pBuf,UINT32 unNumOfBytes)
& & & &&&UINT32
& & & &&&for(i=0; i&unNumOfB i++)
& & & &&&{
& && && &UA0_THR = *(pBuf+i);
& && && &while ((UA0_FSR&TX_EMPTY) == 0x00); //检查发送FIFO是否为空& & & &&&
& & & &&&}
/****************************************
*函数名称:main
*输& & 入:无
*输& & 出:无
*功& & 能:函数主体
******************************************/
INT32 main(VOID)
& &&&PROTECT_REG
& & & &&&(& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & //ISP下载时保护FLASH存储器
& & & & & & & &&&PWRCON |= XTL12M_EN;& & & & & & & & & & & & & & & & & & & & & & & & //默认时钟源为外部晶振
& & & & & & & &&&while((CLKSTATUS & XTL12M_STB) == 0); & & & & & & & & //等待12MHz时钟稳定& & & &
& & & & & & & &
& & & & & & & &&&CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;& & & & //设置外部晶振为系统时钟& & & &&&
& & & &&&)& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & & &&&UartInit(0);& & & & & & & & & & & & & & & & & & & & & & & & //波特率设置为9600bps
& & & &&&while(1);
/****************************************
*函数名称:UART0_IRQHandler
*输& & 入:无
*输& & 出:无
*功& & 能:串口0中断服务函数
******************************************/
VOID UART0_IRQHandler(VOID)
& & UINT8 ucD
& & & & if(UA0_ISR & RDA_INT)& & & & & & & & & & & & & & & &&&//检查是否接收数据中断
& & & & {& & & & & & & &
& & & & & & & & while(UA0_ISR & RDA_IF) & & & & & & & &&&//获取所有接收到的数据
& & & & & & & & {
& & & & & & & & & & & & ucData = UA0_RBR;& & & & & & & & & & & &&&//读取数据
& & & & & & & & & & & &
& & & & & & & & & & & & UartSend(&ucData,1);& & & & & & & &&&//发送数据
& & & & & & & & & & & & if(0x33==ucData)
& & & & & & & & & & & & {
& & & & & & & & & & & && & P2_PMD=0x5555;& & & &&&& & & &&&& & & &&&//GPIO设置为输出模式
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & & &&&& & & && && &&&P2_DOUT &= ~0x01;& & & & & & & &&&//点亮LED灯
& & & & & & & &&&& & & & & & & & & & & & & & & & & & & & & & & & & & & && && &//延时500ms
& & & & & & & && &&&}
& & & & & & & & & & & &
& & & & & & & & }
满意回复+5
uint32_t DrvUART_IsIntEnabled
( E_UART_PORT
u32InterruptFlag
例程都没法用吗?是不是型号搞错了,我上面这句是#include "M0 ...
新唐都开始提供库函数了,那个应该很好用。过几天我试试,最近忙其他项目,弄不完,不让十一回家了。
头文件就不对,汗。。。你复制的是Smart板子的例程吧,哈哈,用官网的例程
主题帖子积分
主题帖子积分
专家等级:结帖率:97%打赏:1.00受赏:240.50
主题帖子积分
uint32_t DrvUART_IsIntEnabled&&( E_UART_PORT&&u32Port,& &uint32_t&&u32InterruptFlag& &)&&
例程都没法用吗?是不是型号搞错了,我上面这句是#include &M051Series.h&好像是058的。
其实我是一个演员
主题帖子积分
主题帖子积分
专家等级:结帖率:97%打赏:1.00受赏:240.50
主题帖子积分
新唐都开始提供库函数了,那个应该很好用。过几天我试试,最近忙其他项目,弄不完,不让十一回家了。
其实我是一个演员
主题帖子积分
中级技术员, 积分 196, 距离下一级还需 104 积分
中级技术员, 积分 196, 距离下一级还需 104 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级技术员, 积分 196, 距离下一级还需 104 积分
中级技术员, 积分 196, 距离下一级还需 104 积分
gaoyang9992006 发表于
新唐都开始提供库函数了,那个应该很好用。过几天我试试,最近忙其他项目,弄不完,不让十一回家了。 ...
我安装了几个库文件就是不知道怎么弄,哎。我一介小白请多指教。有没有学习这款芯片的论坛呢?
主题帖子积分
中级技术员, 积分 196, 距离下一级还需 104 积分
中级技术员, 积分 196, 距离下一级还需 104 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级技术员, 积分 196, 距离下一级还需 104 积分
中级技术员, 积分 196, 距离下一级还需 104 积分
gaoyang9992006 发表于
新唐都开始提供库函数了,那个应该很好用。过几天我试试,最近忙其他项目,弄不完,不让十一回家了。 ...
那个,谢谢你了。我的芯片是M0516LCN,不知道有没有影响
主题帖子积分
高级工程师, 积分 5982, 距离下一级还需 2018 积分
高级工程师, 积分 5982, 距离下一级还需 2018 积分
主题帖子积分
专家等级:结帖率:4%
主题帖子积分
高级工程师, 积分 5982, 距离下一级还需 2018 积分
高级工程师, 积分 5982, 距离下一级还需 2018 积分
头文件就不对,汗。。。你复制的是Smart板子的例程吧,哈哈,用官网的例程
学习,学习,再学习!
主题帖子积分
高级工程师, 积分 7350, 距离下一级还需 650 积分
高级工程师, 积分 7350, 距离下一级还需 650 积分
主题帖子积分
专家等级:结帖率:13%
主题帖子积分
高级工程师, 积分 7350, 距离下一级还需 650 积分
高级工程师, 积分 7350, 距离下一级还需 650 积分
买板子不提供例程的么?
主题帖子积分
中级技术员, 积分 196, 距离下一级还需 104 积分
中级技术员, 积分 196, 距离下一级还需 104 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级技术员, 积分 196, 距离下一级还需 104 积分
中级技术员, 积分 196, 距离下一级还需 104 积分
niuyaliang 发表于
买板子不提供例程的么?
已解决。。
技术高手奖章
人才类勋章
时间类勋章
核心会员奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术导师奖章
人才类勋章
沉静之湖泊
发帖类勋章
技术奇才奖章
人才类勋章
突出贡献奖章
等级类勋章
湍急之河流
发帖类勋章
时间类勋章求助,HAL库函数 串口中断接收,急急急,加入悬赏_百度知道
求助,HAL库函数 串口中断接收,急急急,加入悬赏
我有更好的答案
法1 如何在64位操作系统上安装sql2000 要在 64 位操作系统上安装此应用程序: 在sql2000安装盘CD1中打开STANDARD文件夹;setup”子文件夹中的 setupsql,按照以下步骤 安装 SQL Server 2000: 双击“x86&#92.exe,请使用以下步骤
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求助,HAL库函数 串口中断接收,急急急,加入悬赏_百度知道
求助,HAL库函数 串口中断接收,急急急,加入悬赏
方法1 如何珐浮粹簧诔毫达桐惮昆在64位操作系统上安装sql2000 要在 64 位操作系统上安装此应用程序,请使用以下步骤: 在sql2000安装盘CD1中打开STANDARD文件夹,按照以下步骤 安装 SQL Server 2000: 双击“x86\setup”子文件夹中的 setupsql.exe。 安装 SQL Server
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁> 中断方式串口接收
中断方式串口接收
在电子工程世界为您找到如下关于“中断方式串口接收”的新闻
中断方式串口接收资料下载
,CS 低电平有效,内部下拉。CS 有效时,允许芯片的时钟接收和数据收发;无效时,SCLK、DIN 和DOUT 均为高阻状态,GM814x 不响应SPI 上的数据收发,但能正常收发子串口数据和产生相应中断。2.2 应用建议当使用GM814x 的应用需要扩展4 个以上的串口数量时,就需要使用2 片以上的GM814x。扩展的方式也有多种。方式一:将多个GM814x 的SPI 接口接在主MCU 的SPI...
while(!RI); //RI=1,判定为串口接收到了数据,RI要清零,
RI=0; //否则就会进入中断,如果没接收数据就一直在while循环
P1=SBUF; //如果介绍到数据就点亮第一个发光二极管
void init()
TMOD=0x20...
一套比较完整的51单片机C51串口通信驱动程序,其中包括(1)串口初始化,晶振为11.0592M,方式1 波特率300-57600;(2)串口输出一个字符(非中断方式);(3)串口输出一个回车换行;(4)串口输出一个字符串(非中断方式);(5)串口接收一个字符(非中断方式);(6)串口接收一个定长字符串(非中断方式,只用于字符需有一个的idata字符串数组);...
14-time --
15-alarm -- 综合实验,实现倒计时结束时使用蜂鸣器报警,编程技巧的组合。P8纵向连接上面2个。
16-uart -- UART发送和接收,实现从PC发送到单片机任何字母和数字,单片机立即向PC发送同样的字母数字可以由超级终端或者串口调试助手调试。
17-uartint -- UART接收采用不占用资源的中断接收,其余同16。推荐使用串口中断方式,使用查询方式...
STM32USART1串口接收程序(中断方式)...
】【实验8-1】简单测控系统串口接收程序设计【实验8-2】GSM短信模块程序设计第9章 Nios软件开发进阶9.1 Nios软件开发工具9.2 中断编程概述9.3 串口中断9.3.1 串口寄存器及其软件数据结构9.3.2 串口中断程序设计示例9.4 按键中断9.5 定时器中断定时器程序设计示例【习题】【实验9-1】秒表程序设计第10章 深入了解Nios系统设计10.1 Nios处理器结构10.1.1...
定时器 0    数据的发送和接收由中断程序自动进行 有一点需要说明的是程序已经过 AVR 仿真器仿真和实际烧片使用此模拟的串口为半双工方式主程序中 单片机将标准串口设置为 115200bps,将模拟串口设置为 19200bps 单片机将标准串口收 到的数据从模拟串口发送出去...
........................................... 2
利用示波器观察异步串行数据帧的波形 ....................................................................... 3
采用查询方式向PC串口发送字符串“Hello PC”,PC机用串口助手接收并显示 .... 4
采用中断...
本例程使用stm32的串口 采用中断接收和发送的方式 接收由串口调试助手发送的一帧数据 并且回显验证 通过本例程
初学者可以很方便的学会stm32系列单片机的串口中断收发数据,并且帮你理解串口的中断收发原理。 希望对初学者有所帮助,如果大家觉得有用~...
CPU是STM32F103RBT6,外接8M晶振。
该程序实现了串口1中断接收字符串(必须有换行符结尾,即勾选上串口调试助手上的“换行符”再发送)。方式完毕后,通过按键(GPIO)的方式再将接收的字符串发送出来。每次接收都会更新发送。字符串缓冲区设为20(可自己调节)...
中断方式串口接收相关帖子
。如果系统就这么简单用这种方式也还好,但如果再有其他功能,也是类似于这样在这同一个主循环中需要不断检查,一旦其中一个任务在执行时耗时较长都将影响整个系统的实时处理。
其他rtos处理方式
为了提高按键驱动效率,可以在软硬件定时器中对按键进行检查,按键有效时发送一个消息邮箱或消息队列,
专门有一个线程来等待接收这个消息,平时因没有消息而阻塞,
void&&nbsp...
我的串口中断接收,查询(带延时)发送。使用HAL库。遇到了一个问题,通过各种方法,暂时应该算是解决了,但是我不知道这样做的原因是什么。。。还请大家帮我分析一下。现象很简单:两条查询发送数据的时间间隔太短的话,有时会造成接收中断使能的标志位被清除,从而进不了接收中断函数,但是查询发送的数据是没有问题的。解决办法:我把发送也改成中断方式以后这个问题暂时还没有出现。问题:不明白为什么发送的方式为什么...
)。如有疑问,请与EEWORLD站内管理员nmg联系,发站内短消息或者通过QQ:
2.收到开发板2周之内,没有使用开发板,没来论坛分享学习、评测内容,请将机会留给其他想要学习的朋友,将开发板寄回论坛,邮费由使用开发板本人支付。所以请申请者根据自己的时间,慎重申请。
本次开发板申请面向对象:热爱电子的在校生、初出茅庐的工程师、热心帮助新人的工程师。
申请方式:1、点击进入个人...
& & 复位电路采用典型的阻容方式,同时包含一个手动复位按钮。该电路较为常用,成本与性能兼顾。
& & 我们板上保留了JTAG接口给有调试需求的
同学。使用SW模式JLINK接口,连线较少,可满足一般调试需求。
& & 另外我们板上有USB程序烧写接口,只需要一根手机数据线连接PC与UFUN即可实现程序烧...
本帖最后由 xiangyuansu 于
13:42 编辑
串口在主函数里循环发送没有问题,但是如果用定时发送就会有问题!只会发送一次,后面就没有数据发送出来了,用的中断方式。下面是发送函数
//==========================================================================
// 函数名称...
***************************/
void IntConfiguration()
& & & & IT0=1;//设置INT0,跳变沿触发方式(下降沿)
& & & & EX0=1;//打开INT0的中断允许。
& & & & IT1=1...
最近在做基于TMS320F28335的运动控制。其中用到了28335的一些外设模块:SCI、ePWM、eQEP/AD等。为了以后能够有个回顾的地方,将学习过程中一些流程记录下来。
一、SCI串口通信相关配置流程与内容(中断方式)Step1:初始化GPIO& & InitSciGpio(); //只需设置SCIC和SCIBStep2:初始化PIE中断向量表,(使用中断方式接收...
8.3 USART通用串口程序设计入门8.3.1 USART数据发送程序设计8.3.2 USART数据接收程序设计8.4 中断方式的数据接收8.4.1 中断方式的数据接收程序设计8.4.2 多个串口驱动对象的协同工作8.5 USART驱动程序的设计8.5.1 USART驱动程序8.5.2 printf与cout的实现8.6 深入STM32 USART的工作原理8.6.1 USART工作原理8.6.2...
;& && && && && && && && &&&// 使能接收中断
& & & && &initport();
& & &nbsp...
程序。类似这种
TRISC=0xC0; TRISA=0XC0;//RA0--RA5为输出
SPBRG=0X19;//设置波特率为9600BPS
TXSTA=0X24;//使能串口发送,选择高速波特率
RCSTA=0X90;//使能串口工作,连续接收
RCIE=0X1;//使能接收中断
GIE=0X1;//开放全局中断
PEIE=0X1;//使能外部中断
根据具体型号,对寄存器的名称...
中断方式串口接收视频
中断方式串口接收创意
本周热门资源推荐

我要回帖

更多关于 七年级紧急急急急ijii 的文章

 

随机推荐