0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【南京中科微CSM32RV20开发板试用体验】串口中断收发

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-30 10:32 次阅读
本文来源电子发烧友社区,作者:王琳, 帖子地址:https://bbs.elecfans.com/jishu_2251612_1_1.html

收到
开发板之后,发现下载工具集成了串口调试助手,这个还是挺不错了。demo程序是查询方式实现串口打印。对于调试是没有问题的。但是如果串口用于MODBUS或者其他的一些应用,基本都是中断方式。
首先用中断方式的DEMO程序,似乎无法调通,于是用自己的方式调试串口。首先看看datasheet。居然只有四个寄存器,非常容易上手。
poYBAGIIrAmAMZbrAACGX5TqP0s377.png
1.用下载工具提供的串口助手发送给MCU,MCU再把数据打印出来。
///----System Init --------------------------------------------------------------------------
CLIC_Init();//系统中断配置
System_clock_Init();//系统时钟初始化

SYS_Interrupt_Enable();//CLIC开总中断
此部分仍采用demo程序。

//初始化串口
UART_Init_IT_case1(UART2);//中断模式
做一些简单修改,使能接收

UARTx->CTRL = 0<<25        //发送中断使能: 0-off,1-on
|1<<24        //接收中断使能:0-off,1-on
|0x0116<<8    //波特率(对应16M时钟):
//0x1a0b-2400,0x0683-9600,0x0341-19200,0x0116-57600,0x008b-115200
//0x0045-230400,0x0023-460800,0x0011-921600,0x000d-1128800
|1<<6         //模式选择:0-模式0,1-模式1,2/3-模式2
|0<<5         //多处理器使能
|1<<4         //接收使能
|0<<3         //发送数据bit8
|0<<2;        //接收数据bit8


//写几行代码,处理发送和接收
发送数据:
void INE_vWriteData(uint8_t u8TxData)
{
uint32_t u32TempValue = 0;
u32TempValue = (1<< 25);


UART2->DATA = u8TxData;
UART2->CTRL = UART2->CTRL|u32TempValue;
}
先把数据放进寄存器,再使能发送
接收数据:
void UART1_IRQhandler(void)
{
uint32_t u32TempValue = 0;
uint32_t u32TempValue2 = 0;


uint8_t i = 0;


if(UART1->CTRL&0x1)//接收中断标志
{

//IRQ Hander......
INE_u8RecBuf[i++] = UART1->DATA;
//INE_u8RecBuf[0] = 2;
INE_u8Length = i;
//u32TempValue2 = (1<< 24);
///u32TempValue2 = ~u32TempValue;
//UART1->CTRL = UART1->CTRL&u32TempValue;
UART1->CTRL = (UART1->CTRL|0x01);//清除接收中断
}

if(UART1->CTRL&0x2)//发送中断标志
{
UART1->CTRL = (UART1->CTRL&0xfffffffe)|0x2;//清除发送中断
//IRQ Hander......

u32TempValue = (1<< 25);
u32TempValue = ~u32TempValue;
UART1->CTRL = UART1->CTRL&u32TempValue;

}

}


接收数据放在中断函数内部,同时清中断标志位。
对于发送来说,发送结束,同样清发送完成中断标志,并关闭发送使能位。

main函数打印数据
for (uint8_t i=0; i< INE_u8Length; i ++)
{
INE_vWriteData(INE_u8RecBuf); } INE_u8Length = 0;由于只想DEMO一下收发功能,所以支持收发一个字节。
pYYBAGIKdBuAfS7SAAAvi-xqGAI861.png
2.切换到串口2,修改代码并用串口调试助手发送数据,打印数据。
pYYBAGIKdHCACo05AAB7eGqjp60433.jpg

pYYBAGIKdDyAR-giAAJ0bUPuMFo827.png
总结:
1.串口寄存器简单易用,非常适合简单的应用场合。
2.同时datasheet过于简单,甚至找不到串口内部的逻辑图。
3.也正是由于过于简单,恐怕难以实现一些特殊的灵活应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 南京中科微
    +关注

    关注

    0

    文章

    60

    浏览量

    645
  • CSM32RV20
    +关注

    关注

    0

    文章

    40

    浏览量

    177
收藏 人收藏

    评论

    相关推荐

    中科CSM32RV003绿色开发板免费体验】环境配置

    CSM32RV003】中科CSM32RV003绿色开发板环境配置 视频中详细介绍了开发板
    发表于 10-23 19:17

    中科CSM32RV003绿色开发板免费体验】3.使用流程

    试用机会,非常感谢电子发烧友论坛! 南京中科公司CSM32RV003开发板使用心得体会 这篇
    发表于 10-14 00:05

    中科CSM32RV003绿色开发板免费体验】+ISP下载测试

    在收到中科CSM32RV003绿色开发板后,首先到官网和技术支持信群寻找资料。要实现CSM32RV
    发表于 10-11 08:58

    中科CSM32RV003绿色开发板免费体验】2.RISC-V RV32IMAC内核

    CSM32RV003绿色开发板免费体验】1.上手 我要感谢南京中科微电子有限公司提供的CSM32RV003绿色
    发表于 10-10 00:03

    中科CSM32RV003绿色开发板免费体验】 开箱和安装工具帖

    我申请项目:滑翔伞空中速率计。 我于2023年9月9日下午收到中科CSM32RV003开发板快递包裹。拿回后立马打开包裹,出现南京
    发表于 10-09 23:34

    中科CSM32RV003绿色开发板免费体验】1.上手

    首先,我要感谢南京中科微电子有限公司提供的CSM32RV003绿色开发板试用机会,这让我有机会深入了解并使用该公司的产品。经过几天的熟悉和
    发表于 10-09 23:21

    中科CSM32RV003绿色开发板免费体验】了解和认识中科CSM32RV003绿色开发板

    ℃;● 支持 TSSOP20/QFN20 封装。 中科CSM32RV003绿色开发板上电,
    发表于 09-22 16:56

    中科CSM32RV003绿色开发板免费体验】中科CSM32RV003绿色开发板初次使用测试

    今天拿到中科CSM32RV003绿色开发板做一下上电及初次使用的介绍视频及文字介绍, 中科
    发表于 09-22 16:35

    中科CSM32RV003绿色开发板免费体验】中科CSM32RV003绿色开发板初体验

    收到南京中科CSM32RV003绿色开发板,板子做的很小巧,绿色阻焊也很漂亮,板子布局合理,功能也很强大。
    发表于 09-22 16:25

    中科CSM32RV003绿色开发板免费体验】开发板使用2 CJlink 调试器

    接上文 【中科CSM32RV003绿色开发板免费体验】开发板使用1 南京
    发表于 09-21 05:32

    中科CSM32RV003绿色开发板免费体验】开发板使用1

    接上文 【中科CSM32RV003绿色开发板免费体验】环境搭建 南京中科
    发表于 09-20 21:33

    中科CSM32RV003绿色开发板免费体验】开箱+资料准备

    很高兴能参加【RISC-V】中科CSM32RV003绿色开发板免费体验的活动。本次的中科
    发表于 09-17 22:15

    中科CSM32RV003绿色开发板免费体验】环境搭建

    感谢 发烧友学院以及南京中科公司为我和孩子提供此产品CSM32RV003开发板。收到了CSM32RV
    发表于 09-17 20:57

    中科CSM32RV003绿色开发板免费体验】入门篇

    1.了解开发板 此款开发板使用南京中科主控CSM32RV003基于RISC-V核低功耗MCU,
    发表于 09-10 23:15

    试用南京中科微电子CSM32RV003开发板

    非常迅速头一天接收信息,第二天雨中快递送到南京中科微电子有限公司CSM32RV003开发板(TSSOP20)封装的RISC-V处理器芯片。迷
    发表于 09-09 19:01