【龙芯1B例程】:串口中断实验
文章目录
前言
一、串口中断是什么?
二、开发步骤
1.龙芯1B串口驱动函数(内置)
2.串口中断示例代码
3.代码示例图
总结
前言
文章参考官方各类书籍,以及网络知识,如有侵权,请联系我立马删帖道歉!!!谢谢各位的关注,大家的关注才是我不断更新的动力!前段时间更新了串口的使用,但是忘了更新串口中断的使用,特此补充!有关串口的具体知识欢迎大家去浏览以前的文章!
一、串口中断是什么?
串口中断从大体上来讲,就是当串口数据寄存器接受到数据(串口正在工作中),这时候就会进入串口中断源,执行串口中断程序中的任务,并不影响串口程序正常工作。
注:龙芯1B嵌入式开发板是没有中断优先级,这一点于stm32的不同。
二、开发步骤
1.龙芯1B串口驱动函数(内置)
源代码:ls1x‐drv/uart/ns16550.c
头文件:ls1x‐drv/include/ns16550.h
#define BSP_USE_UART4 // Console_Port 控制台串口
#define BSP_USE_UART5 // Console_Port 控制台串口
需要使用哪一个串口就打开哪个串口(bsp.h)
以下是内部函数对串口的初始化设置(参数可自行修改):
#ifdef BSP_USE_UART4 static NS16550_t ls1b_UART4 = {.BusClock = 0, .BaudRate = 115200,.CtrlPort = LS1B_UART4_BASE,.DataPort = LS1B_UART4_BASE,.bFlowCtrl = false, .ModemCtrl = 0,.bIntrrupt = true, .IntrNum = LS1B_UART4_IRQ,.IntrCtrl = LS1B_INTC0_BASE,.IntrMask = INTC0_UART4_BIT,.dev_name = "uart4", }; // to do initialize // 总线频率,初始化时填充 // 默认速率 // 串口寄存器基址 // by user needed // 使用中断方式 // 系统中断号 // 中断寄存器 // 中断屏蔽位 // 设备名称
2.串口中断示例代码
代码如下:
/** uart_utp.c** created: 2022/8/10* author: */ #include "ns16550.h" #include "ls1b_gpio.h"char buff[256]; void UART4_test(void)//执行任务 {ls1x_uart_read(devUART4,buff,255,NULL);printk("%x==%x==%x\r\n",buff[0],buff[1],buff[2]); }void uart4_interrupt(int vector, void * param) {UART4_test(); } /*devUART1---rx=gpio_50devUART2---rx=gpio_54devUART3---rx=gpio_56devUART4---rx=gpio_58devUART5---rx=gpio_60 */ void uart_utp_init(void) {ls1x_uart_init(devUART4,NULL); //初始化串口ls1x_uart_open(devUART4,NULL); //打开串口ls1x_disable_gpio_interrupt(58);ls1x_install_gpio_isr(58,INT_TRIG_EDGE_UP,uart4_interrupt,NULL);//中断初始化ls1x_enable_gpio_interrupt(58); }
3.代码示例图
总结
主函数代码就不贴了,初始化串口之后,满足条件则串口中断直接运行!如下有整个工程的示例程序,需要自取!
有需要联系工作号,vx:bulidupup
【龙芯1B例程】:串口中断实验相关推荐
- 龙芯1B:串口通信例程
文章目录 前言 一.串口通信? 1.串口通信的基础与分类 2.波特率 3.单工.半双工和全双工 4.起始位.数据位.奇偶校验位.停止位 5.TXD,RXD,GND 二.龙芯UART串口介绍 三.程序代 ...
- 龙芯1B:按键外部中断例程
目录 前言 一.什么是外部中断? 1.外部中断:单片机实时地处理外部事件的一种内部机制. 二.外部中断程序开发步骤 1.步骤 2.函数介绍 GPIO中断API函数介绍: 编辑 3.外部中断代码 总结 ...
- 龙芯1B:LCD显示例程
文章目录 前言 一.LCD 二.触摸屏芯片XPT2046 1.XPT2046 2.函数 3.实用程序 三.示例程序 总结 前言 一个系统最缺不了人机交互的界面,就像电脑显示器一样,如果没有显示器,电脑 ...
- 龙芯1B:pwm的使用例程
文章目录 前言 一.PWM是什么? 二.PWM 芯片 GP7101 1.驱动程序 gp7101.c 实现的函数: 三.pwm波形的产生 1.开发步骤 2.代码实现 总结 前言 up主的联系方式: 微信 ...
- 【龙芯1B】:有源蜂鸣器例程
前言 大家对龙芯1B200有任何问题都可以私信我,大家的关注才是我不断更新的动力. 可能私信不能很及时的回,大家稍微谅解一下,看到立马就回. 一.蜂鸣器介绍 这里简单的介绍一下大家众所周知的蜂鸣器,蜂 ...
- 龙芯1B:光照BH1750例程
文章目录 前言 一.BH1750是什么? 二.引脚图以及引脚说明 三.BH1750特点 四.使用步骤 1.基本步骤 2.代码 总结 前言 感谢各位朋友的关注,大家的关注是我不断更新的动力!这一期就写一 ...
- 龙芯1B:timer定时器例程
目录 前言 一.定时器是什么? 二.定时器编码示例 1.开发步骤 2.代码 总结 前言 up主的联系方式: 微信公众号:嵌入式up 大家好!大家点点关注,大家的关注才是我持续更新的动力! 一.定时器是 ...
- 龙芯1B:独立按键例程
目录 前言 一.独立按键说明 二.示例程序 总结 前言 up主的联系方式: 微信公众号:嵌入式up 大家好!大家点点关注,大家的关注才是我持续更新的动力! ls1x-drv:开发板设备的通用驱动,包含 ...
- 龙芯1B:点亮第一个led灯
仅供学习 文章目录 前言 一.GPIO是什么? 二.新建项目操作步骤(后续文章不再新建项目) 三.点亮LED代码 四.编译调试 由于未带开发板,所有暂时未有实物展示效果 ...
最新文章
- R语言ggplot2可视化删除所有分面图(facet_wrap可视化的facet结果)的标签实战(Remove facet_wrap labels)
- 华为轮值董事长郭平:打造VR/AR信息高速公路,支撑产业繁荣
- 刷题练习记录(3)——无重复字符的最长子串(JAVA 和 Python)——set()函数/集合...
- 反制爬虫之Burp Suite RCE
- 【Python小工具函数】各种日期格式的转换、在某个日期上减去n天、判断List中是否含有数字
- bzoj#4161-Shlw loves matrixI【常系数线性齐次递推】
- gcc汇编汇编语言_什么是汇编语言?
- python订单管理系统软件_有什么订单管理软件系统是好用的?
- bzoj3007 解救小云公主
- [Android] Android开机启动Activity或者Service方法
- (转)美国的套利已经变成一门生意,而不是一门技术了
- PHP:Fatal error: Class 'COM' not found in … 的处理办法
- Java判断上海自来水来自海上_JavaAPI
- FcaNet: Frequency Channel Attention Networks
- between and 用法
- 数据科学和人工智能技术笔记 二十、数据可视化
- 当我在ChatGPT上问重建大师,它居然这样回答我
- 人脸识别-多张人脸检测
- 2021年安全员-C证-专职安全生产管理人员(广东省)考试APP及安全员-C证-专职安全生产管理人员(广东省)证考试
- 工作11年,35岁,裸辞: 感到前途很迷茫,如何破?
热门文章
- s905各种型号的区别_GCS、GCK、MNS、GGD开关柜的区别
- 索引(index)是什么
- 零Javascript实现一个简单的相册
- php 正则过滤手机号(移动联通电信小灵通固话等)邮箱QQ号码
- pkill 命令_pkill和pgrep:流程管理命令
- JAVA去除括号及里面的内容
- win7右键计算机死机,win7关机时死机
- 解决TypeError at /xadmin/ login() got an unexpected keyword argument 'extra_context'
- 〖教程〗NbtScan 139端口弱口令/Netbios密码爆破
- Wikioi 1985 GameZ游戏排名系统