ARM的UART实验

实验题目:设计一个串口初始化程 Uart_Init_Ext(int pclk,int baud,int parity,int stop, int len)要求在Uart_driver.c 和 Uart_driver.h中实现驱动,然后在TARGET.c的Target—_Init(void)中调用

PC端用超级终端验证结果。串口寄存器参考实验指导手册

baud 为波特率

parity 为奇偶校验

          0 = 无奇偶

          4= 奇校验

5 = 偶校验

6 = 奇偶位始终为1

7 = 奇偶位始终为0

stop 为停止位

0 = 1个停止位

1 = 2个停止位

 

len 为数据位长度

0 = 长度为5

1 = 长度为6

2 = 长度为7

3 = 长度为8

Uart_Init_Ext编码如下:

void Uart_Init_Ext(int pclk,int baud,int parity,int stop, int len)

{

    int i;

    int p,s,l;

    if(pclk == 0)

    pclk    = PCLK;

    if(parity==0) p=0x0;

    else if(parity==4) p=0x20;

    else if(parity==5) p=0x28;

    else if(parity==6) p=0x30;

    else if(parity==7) p=0x38;

    if(stop==0) s=0x0;

    else if(stop==1) s=0x4;

    if(len==0) l=0x0;

    else if(len==1) l=0x1;

    else if(len==2) l=0x2;

    else if(len==3) l=0x3;

    

    //rULCON0 = parity*8+stop*4+len;

    rULCON0 =p+s+l;

rUCON0  = 0x245;                        

for(i=0;i<100;i++);

}

 

 

Target.c中的Uart_Init_Ext配置如下:

void Target_Init(void)

{

MMU_Init();

ChangeClockDivider(1,1);          // 1:2:4    

ChangeMPllValue(0xa1,0x3,0x1);    // FCLK=202.8MHz  

    

    Port_Init();

    Isr_Init();

Uart_Init(0,4800);

Uart_Init_Ext(0,115200,0,1,1);

//此处设置的是波特率为115200,无奇偶校验,两个停止位,数据长度为6

 

 

    Uart_Select(0);     

}

对应上面的设置,超级终端进行了组设置:

  1. 超级终端配置配置如下: 波特率为115200,无奇偶校验,两个停止位

Uart_Init_Ext(0,115200,0,1,1);

  1. 超级终端配置配置如下: 波特率为115200,奇校验,两个停止位

 Uart_Init_Ext(0,115200,4,1,1);

实现指定参数UART通信效果截图如下

问题以及解决:

       在本次实验中,我设计一个串口初始化程序 Uart_Init_Ext(int pclk,int baud,int parity,int stop, int len)放在Uart_driver.c 文件里面,并在 Uart_driver.h中设置了函数原形,然后在TARGET.c的Target—_Init(void)中实现了调用,但发现,运行程序的时候老是在AXD中报错,后来发现超级终端的设置要和本实验中Uart_Init_Ext函数中设置的参数要保持一致才能通信

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android第一天-------环境搭建

今天正式第一天学习android的。 1.昨晚下班后回家跟同事刘江龙打了四把dota。还好&#xff0c;都赢了把对面虐成狗了。大多都是1300到1450的局&#xff0c;玩的很爽。 2.dota打完后给在湖南常德的女朋友打了个电话&#xff0c;让她早点睡。当然这个电话是我每天都必须打的。 3.…

[Kesci] 预测分析 · 客户购买预测(AUC评估要使用predict_proba)

文章目录1. Baseline2. AUC评估要使用predict_proba2.1 导入工具包2.2 特征提取2.3 训练模型选择2.4 网格/随机搜索 参数提交2.5 测试结果3. 致谢新人赛地址 1. Baseline import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt %ma…

python中装饰器的参数与返回值

def itcast1(fun): def inner(*args, **kwargs): print("itcast1 start") # args -> 元组数据() #kwargs -> 字典数据{} #result用来接收被装饰函数的返回值 result fun(*args, **kwargs) print("itcast1 end") return result return inner itcast1…

键盘接口和七段数码管的控制实验

一、实验目的 1. 学习4X4键盘的与CPU的接口原理 2. 掌握键盘芯片HD7279的使用&#xff0c;及8位数码管的显示方法&#xff1b; 二、实验内容 1. 通过4X4按键完成在数码管上的各种显示功能&#xff0c;以及LCD上显示。 三、实验设备 EL-ARM-830教学实验箱&#xff0c;P…

奇葩的UI引用LayoutInflater.from问题

今收到BUG一枚&#xff0c;一个页面的EditText的风格变为了系统默认&#xff08;系统经过定制&#xff0c;风格和普通的不同&#xff09; 经检查xml无任何不妥&#xff0c;最终问题出在LayoutInflater.from上。 如果LayoutInflater.from&#xff08;XXActivity.this&#xff09…

LeetCode 939. 最小面积矩形(哈希)

文章目录1. 题目2. 解题1. 题目 给定在 xy 平面上的一组点&#xff0c;确定由这些点组成的矩形的最小面积&#xff0c;其中矩形的边平行于 x 轴和 y 轴。 如果没有任何矩形&#xff0c;就返回 0。 示例 1&#xff1a; 输入&#xff1a;[[1,1],[1,3],[3,1],[3,3],[2,2]] 输出…

python中的wraps函数

使⽤装饰器时&#xff0c;有⼀些细节需要被注意。 例如&#xff0c;被装饰后的函数其实已经是另外⼀个函数了&#xff08;函数名等函数属性会发⽣改变&#xff09;。添加后由于函数名和函数的doc发⽣了改变&#xff0c;对测试结果有一定影响&#xff01; import functools de…

python中向类中动态添加新特性及删除属性方法

class Foo(object): pass obj Foo() # 添加对象属性(对象名追加对象属性&#xff09; obj.a 100 # print(obj.a) # 添加类属性&#xff08;类名称追加类属性&#xff09; Foo.b 200 # print(Foo.b) # print(obj.b) # 添加对象方法 def obj_fun(self): print(self.a) # …

图片效果集合(js、jquery或html5)

1.jQuery HTML5 幻灯片使用支持HTML5的浏览器会有特殊效果&#xff0c;即切换图片时颜色的改变文章&#xff1a;http://keleyi.com/a/bjac/b8i3xdui.htm效果&#xff1a;http://keleyi.com/keleyi/phtml/html5/1.htm 2. jQuery图片延迟加载一开始不加载实图&#xff0c;只用灰图…

LeetCode 1131. 绝对值表达式的最大值(数学 绝对值展开)

文章目录1. 题目2. 解题1. 题目 给你两个长度相等的整数数组&#xff0c;返回下面表达式的最大值&#xff1a; |arr1[i] - arr1[j]| |arr2[i] - arr2[j]| |i - j|其中下标 i&#xff0c;j 满足 0 < i, j < arr1.length。 示例 1&#xff1a; 输入&#xff1a;arr1 …

基于uCOSII的LCD驱动实验

实验目的 掌握在 UCOsH操作系统下编写应用程序 的基本方法 实验内容 在移植好的UCOsII项 目中添加串口、LCD、 键盘的驱动程序 学习在UCOSII下 ,多应用任务的简单编程实例 实验设备 EL-RAM-860教 学 实验 箱 ,PentiumII以上 的 PC机 ,仿 真 调试 电缆 ,串 口直 连 电 缆 。 PC操…

python中的__slots__

为了达到限制的⽬的&#xff0c;Python允许在定义class的时候&#xff0c;定义一个特殊的 __slots__变量&#xff0c;来限制该class实例能添加的属性&#xff1a; class Foo(object): __slots__ ("a", "b") # 限制动态使用对象名添加东西&#xff08;属性…

LeetCode 659. 分割数组为连续子序列(哈希)

文章目录1. 题目2. 解题1. 题目 给你一个按升序排序的整数数组 num&#xff08;可能包含重复数字&#xff09;&#xff0c;请你将它们分割成一个或多个子序列&#xff0c;其中每个子序列都由连续整数组成且长度至少为 3 。 如果可以完成上述分割&#xff0c;则返回 true &…

autotools入门笔记(二)——创建和使用静态库、动态库

带有静态库或者动态库的工程的构建过程与上一节&#xff08;&#xff09;只包含一个源文件的工程的构建过程是类似的。只是对于复杂的工程&#xff0c;如果包含多个还有源文件的目录时&#xff0c;需要对每个包含源文件的目录执行构建过程&#xff0c;另外创建和使用库文件时需…

等价类测试与决策表测试

问题&#xff1a;输入年月日year、month、day&#xff0c;其中年份的有效取值范围为[1818,2018]&#xff0c;请输出输入日期的前一天&#xff0c;例如输入2018年9月18日&#xff0c;输出为2018年9月17日。若输入日期非法&#xff0c;例如输入2013年2月30日&#xff0c;则输出“…

python中的私有化

1、xx: 公有变量2、_x: 单前置下划线,私有化属性或方法&#xff0c;from somemodule import * 禁止导入,类对象和子类可以访问。3、__xx&#xff1a;双前置下划线,避免与子类中的属性命名冲突&#xff0c;无法在外部直接访问(名字重整所以访问不到&#xff09;4、__xx__:双…

LeetCode 1520. 最多的不重叠子字符串(贪心)

文章目录1. 题目2. 解题1. 题目 给你一个只包含小写字母的字符串 s &#xff0c;你需要找到 s 中最多数目的非空子字符串&#xff0c;满足如下条件&#xff1a; 这些字符串之间互不重叠&#xff0c;也就是说对于任意两个子字符串 s[i…j] 和 s[k…l] &#xff0c;要么 j <…

一个网页设计师应该考虑的9件事

1、永远都不要停止学习新的东西 在一个领域的趋势很容易成为过去&#xff0c;一个网页设计师应该不断尝试跟上最新的方法。从标志设计到用户界面&#xff0c;你应该寻找各种样品&#xff0c;并看看什么是新的&#xff0c;什么不是。此外&#xff0c;即使自己是不是对你有用&…

边界值测试

问题描述——找零钱最佳组合&#xff1a; 假设商店货品价格(R)皆不大于100元&#xff08;且为整数&#xff09;&#xff0c;若顾客付款在100元内(P)&#xff0c;求找给顾客之最少货币个&#xff08;张&#xff09;数&#xff1f;&#xff08;货币面值50元(N50)&#xff0c;10元…

python中的@property(get与set作用

class Bank(object): def__init__(self): self.__money 100 property defmoney(self): returnself.__money #raise AttributeError("该属性不支持读取操作") # 如果只提供了读取操作&#xff0c;而不提供设置操作的&#xff0c;这样的属性叫做只读属性 money.sette…