写出一个程序,实现从键盘接收3个数,输出最大数和最小数。 非常感谢,要求正确和清晰!!

写出一个程序,实现从键盘接收3个数,输出最大数和最小数。 非常感谢,要求正确和清晰!!,第1张

代码如下:

#include <stdio.h>

#include <stdlib.h>

int main() 

{

int x = 0, y = 0, z = 0, max = 0, min = 0

printf("请输入三个整数:")

scanf("%d %d %d", &x, &y, &z)

max = max(x, y)

max = max(max, z)

min = min(x, y)

min = min(min, z)

printf("最大值:%d,最小值:%d\n", max, min)

system("pause")

return 0

}

int main( int argc, char* argv[])

{

std::vector<int>in_array

std::string in

for (getline(cin, in) in != "end"in_array.push_back(atoi(in.c_str()) ) {

}

std::sort (in_str.begin()in_str.end())

for (vector<int>::iterator pos = in_array.begin()pos != in_array.end()pos++) {

std::cout<<(*pos) <<std::endl

}

return 0

}

首先你要知道,UART不是与ARM体系有关,而是与具体的ARM体系CPU有关。

就是说不同的CPU的UART控制器是不一样的

这个程序只能给你一个思路了

有些CPU这些发送,接收中断是可以在寄存器直接设置一个阀值的

比如你的发送缓存为8个字节,接收也是8个字节

你可以设置,当发送缓存里的数据少于1的时候就产生中断

当接收缓存里数据大于4时,就产生中断

目前很多CPU都可以直接设置内部的UART寄存器来完成这个配置

如果没有UART控制器来完成。就是说你的UART发送和接收都是自己控制的

你可以在自己的发送,接收的中断处理程序里面模拟一个缓存,来实现这些功能。我想这个应该不成问题吧

就是2个全局变量记录缓存的用量分别记录接收和发送

还有2个全局数组,比如8个字节,用来缓存接收发送的数据

你的UART中断程序如果判断到是接收,首先把数据放到缓存,然后接收缓存计数+1,判断是否超过某一个阀值,如果是的话,就做一些自定义的事情

发送是同样的道理


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12038928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存