任务一
# 任务1
int main(void){
uint8_t letter;
usart1_init();
while(1){
for(letter = 'a服务器托管网';letter SR & USART_SR_TXE)); // while - uart fason wanchen , juxu next
// while(!USART_GetFlagStatus(USART1,USART_FLAG_TXE)); // and yes
// delay();
USART_SendData(USART1,letter);
}
}
}
任务二
//任务2
//int main(void){
// usart1_init();
// while(1){
// while(USART_GetFlagStatus(USART1,USART_FLAG_RXNE) == RESET); // stm32的标志位(寄存器)没有接收到数据的时候置零,一直等待数据的到来(while循环)
// uint8_t ch = USART_ReceiveData(USART1); // 接受的字符
// // 判断
// if(ch>=97 && ch
任务三
解题思路:
/*
首先接收一个字符,然后判断这个字符是否为数字字服务器托管网符。
如果是数字字符,则执行主功能模块;
如果不是数字字符,则直接将该字符发送回给上位机。
在主功能模块中,当接收到三个数字字符时,计算它们的整数值,
并将这个整数值转换为字符数组,最后将字符数组发送回给上位机。
*/
解答代码:
int arr_int[3] = {0,0,0}; // 存储一位一位的整数(int数组)
char arr_char[4] = {'a','b','c',''}; // 存储接收到的字符整数(char数组)
int num , count , flag = 0;
// num存储返回和计算和的整数值,count记录存储了多少个整数或者说几次(为3就赋值为0),flag来判断接收了字符整数没
int main(void){
usart1_init(); // 串口1初始化函数
while(1){
while(USART_GetFlagStatus(USART1,USART_FLAG_RXNE) == RESET); // 等待接收数据,标志位置0还是置1。
uint8_t ch = USART_ReceiveData(USART1); // 接受的字符
// 判断接收的字符是不是字符整数,如果是的话就执行主功能,不是则直接输出该字符回给上位机
if(ch=57){
USART_SendData(USART1, ch);
}
else{ // 主功能模块
flag = 1; // flag=1代表接收到了字符整数,为下面count==3时做铺垫。
if(count == 3 ){
count = 0; // 置0
num = arr_int[2]*10*10 + arr_int[1]*10 + arr_int[0] + 55; // 计算返回的整数值,因为接收的数据和正常的是相反的,所以这里数组也是。
USART_SendData(USART1,1);
arr_char[0] = (char)num/100; // 百位
arr_char[1] = (char)(num%10)/10; // 十位
arr_char[2] = (char)num%10; // 个位
for(int i =0;i
有问题:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
随着近几年人工智能的快速发展,人脸识别、视频结构化和大数据分析等技术不断完善,原本用途单一的安防产品功能逐步走向多元化。同时,安防产业开始与交通、社区、港务等多领域进行融合,安防的边界越来越模糊,安防产业已经进入一个全新的泛安防时代。 LiteCVR安防视频系…