当前位置: 首页 > news >正文

网站的安全建设或者解决方案北京seo费用是多少

网站的安全建设或者解决方案,北京seo费用是多少,旅游网站框架, 上色软件免费直播间目录 1 UART帧格式详解 1.1 UART简介 1.2 通信基础 - 并行和串行 1.3 通信基础 - 单工和双工 1.4 通信基础 - 波特率 1.5 UART帧格式 2 Exynos4412下的UART控制器 2.1 引脚功能设置 2.2 阅读芯片手册 3 UART寄存器详解 3.1 引脚寄存器 3.2 串口寄存器概览 3.3 ULC…目录 1 UART帧格式详解 1.1 UART简介 1.2 通信基础 - 并行和串行 1.3 通信基础 - 单工和双工 1.4 通信基础 - 波特率  1.5 UART帧格式 2 Exynos4412下的UART控制器 2.1 引脚功能设置 2.2 阅读芯片手册 3 UART寄存器详解 3.1 引脚寄存器 3.2 串口寄存器概览 3.3 ULCONn帧格式  ​编辑 3.4 UCONn控制寄存器串口模式轮询、中断、DMA 3.5 状态寄存器  3.6 接收数据发送数据的寄存器  3.7 设置波特率 4 UART编程 4.1 interface.c实验代码 4.2 printf重定向 4.3 练习 1 UART帧格式详解 1.1 UART简介 Universal Asynchronous Receiver Transmitter 即     通用异步收发器是一种通用的串行、异步通信总线     该总线有两条数据线可以实现全双工的发送和接收     在嵌入式系统中常用于主机与辅助设备之间的通信 1.2 通信基础 - 并行和串行 并行通讯多个数据线一起发送 串行通信一个个字节发送 1.3 通信基础 - 单工和双工 半双工要不能同时发送和接收全双工可以同时发送和接收。 1.4 通信基础 - 波特率  波特率用于描述UART通信时的通信速度其单位为bps(bit per second)即每秒钟传送的bit的数量 1.5 UART帧格式 串口协议中规定先发低位再发高位 例数据0x55 二进制01010101-发送顺序10101010 校验位很少使用多发了一位数据会使得通讯速度变慢 如果发送多个字节重复上面的动作必须一个一个字节发送附带停止位和起始位否则发送0xFF这种数据全是高电平无法得知是发送了还是没发送。 串口发送的速率是根据自身的时钟速率掐时间计算。如A主机发送速率1s1个但是接收方可能接收的数据对于A来说是0.9S1个时间一长数据会乱。所以一般规定每次最多发8位之后重新获取起始位避免误差增大。 2 Exynos4412下的UART控制器 一般情况下处理器中都会集成UART控制器 我们使用UART进行通信时候只需对其内部的相 关寄存器进行设置即可 2.1 引脚功能设置 查看扩展板原理图 SP3232EEA芯片的作用是把串口发出来的TTL信号转换成232信号增加了串口的通讯距离 查看核心板原理图  2.2 阅读芯片手册 芯片手册4412一共包含了5个串口通道包含一个可以与GPS通讯的Ch4。串口控制器的时钟是100Mhz支持DMA串口中断每个串口包含FIFO。 功能框图 总线是CPU与串口芯片相连发送、接收及访问控制单元。 红外GPS暂不详细介绍 3 UART寄存器详解 3.1 引脚寄存器 3.2 串口寄存器概览 5个串口寄存器内部是一样的使用串口2基地址0x1382_0000 3.3 ULCONn帧格式  3.4 UCONn控制寄存器串口模式轮询、中断、DMA 接收串口数据一般有3种方式 1.轮询定期CPU去访问FIFO 2.中断有数据来了通知CPU去读取 3.DMA有数据来了直接由DMA搬到内存中不需要CPU去干涉 3.5 状态寄存器  状态寄存器中一般为只读寄存器可用于判断串口接收发送的状态 3.6 接收数据发送数据的寄存器  3.7 设置波特率 波特率公式案例用的时钟频率是40Mhz我们开发板的串口时钟寄存器是100Mhz UBRDIVn 20整数部分 UFRACVAL 0.7小数部分*16 ≈ 11四舍五入因为串口按位发送会校准所以可以忽略 4 UART编程 引脚寄存器 帧格式  接收和发送模式为轮询  100000000/115200 *16)-1 ≈ 53.25 UBDIV2 取整 53 UFRAVVAL2 0.25 * 16 4 4.1 interface.c实验代码 #include exynos_4412.hvoid UART_Init(void) {/*1.将GPA1_0和GPA1_1设置成UART2的接收和发送引脚 GPA1CON[7:0]*/GPA1.CON GPA1.CON (~(0xFF 0)) | (0x22 0);/*2.设置UART2的帧格式 8位数据位 1位停止位 无校验 正常模式 ULCON2[6:0]*/UART2.ULCON2 UART2.ULCON2 (~(0x7F 0)) | (0x3 0);/*3.设置UART2的接收和发送模式为轮询模式 UCON2[3:0]*/UART2.UCON2 UART2.UCON2 (~(0xF 0)) | (0x5 0);/*4.设置UART2的波特率为115200 UBRDIV2/UFRACVAL2*/UART2.UBRDIV2 53;UART2.UFRACVAL2 4; }void UART_Send_Byte(char Dat) {/*等待发送寄存器为空即上一个数据已经发送完成 UTRSTAT2[1]*/while(!(UART2.UTRSTAT2 (1 1)));/*将要发送的数据写入发送寄存器 UTXH2*/UART2.UTXH2 Dat; }char UART_Rec_Byte(void) {char Dat 0;/*判断接收寄存器是否接收到了数据 UTRSTAT2[0]*/if(UART2.UTRSTAT2 1){/*从接收寄存器中读取接收到的数据 URXH2*/Dat UART2.URXH2;return Dat;}else{return 0;} }void UART_Send_Str(char * pstr) {while(*pstr ! \0)UART_Send_Byte(*pstr); }int main() {char RecDat 0;UART_Init();while(1){RecDat UART_Rec_Byte();if(RecDat 0){}else{RecDat RecDat 1;UART_Send_Byte(RecDat);}UART_Send_Str(Hello World\n);//重定向的printfprintf(Hello World\n);}return 0; }注 寄存器只能显示字符无法显示数字如果需要发送和接收数字要转换为对应的字符的ASCII码  如果CPU写入的速度过快超过串口发送器发送的速度会使得接收端的数据错乱。需要对发送状态寄存器进行判断后进行发送和接收。 4.2 printf重定向 printf的功能实现已经再src中实现了函数比较复杂不做详细介绍 printf调用了putsputs内部调用了putc我们修改了putc的程序实现了重定向 定向功能在uart.c中实现。 printf的区别 1来源:没有操作系统在printf.c中而有操作系统是调用的C库的区别 2输出定向不一样:重定向输出到串口输出到linux终端 4.3 练习 1.若使用UART协议发送一个字节的数据0x63画出信号线上的时序图 注8位数据位、无校验位、一位停止位 略 2.编程实现电脑远程控制LED状态 注在终端上输入‘2’LED2点亮再次输入‘2’LED2熄灭... ... #include exynos_4412.hvoid LED_Init(void) {GPX2.CON GPX2.CON (~(0xF 28)) | (0x1 28); //LED2 GPX2_7 output//GPX1.CON GPX1.CON (~0xF) | 0x1; //LED3 GPX1_0 output//GPF3.CON GPF3.CON (~(0xF 16)) | (0x1 16); //LED4 GPF3_4 output//GPF3.CON GPF3.CON (~(0xF 20)) | (0x1 20); //LED5 GPF3_5 output }void Led_on(int num){switch(num){case 2:GPX2.DAT GPX2.DAT | (1 7);case 3:GPX1.DAT GPX1.DAT | (1 0);case 4:GPF3.DAT GPF3.DAT | (1 4);case 5:GPF3.DAT GPF3.DAT | (1 5);default:break;}}void Led_off(int num){switch(num){case 2:GPX2.DAT GPX2.DAT ~(1 7);case 3:GPX1.DAT GPX1.DAT ~(1 0);case 4:GPF3.DAT GPF3.DAT ~(1 4);case 5:GPF3.DAT GPF3.DAT ~(1 5);default:break;}}void UART_Init(void) {/*1.将GPA1_0和GPA1_1设置成UART2的接收和发送引脚 GPA1CON[7:0]*/GPA1.CON GPA1.CON (~(0xFF 0)) | (0x22 0);/*2.设置UART2的帧格式 8位数据位 1位停止位 无校验 正常模式 ULCON2[6:0]*/UART2.ULCON2 UART2.ULCON2 (~(0x7F 0)) | (0x3 0);/*3.设置UART2的接收和发送模式为轮询模式 UCON2[3:0]*/UART2.UCON2 UART2.UCON2 (~(0xF 0)) | (0x5 0);/*4.设置UART2的波特率为115200 UBRDIV2/UFRACVAL2*/UART2.UBRDIV2 53;UART2.UFRACVAL2 4; }void UART_Send_Byte(char Dat) {/*等待发送寄存器为空即上一个数据已经发送完成 UTRSTAT2[1]*/while(!(UART2.UTRSTAT2 (1 1)));/*将要发送的数据写入发送寄存器 UTXH2*/UART2.UTXH2 Dat; }char UART_Rec_Byte(void) {char Dat 0;/*判断接收寄存器是否接收到了数据 UTRSTAT2[0]*/if(UART2.UTRSTAT2 1){/*从接收寄存器中读取接收到的数据 URXH2*/Dat UART2.URXH2;return Dat;}else{return 0;} }void UART_Send_Str(char * pstr) {while(*pstr ! \0)UART_Send_Byte(*pstr); }int main() {char RecDat 0;int toggle 0;UART_Init();LED_Init();while(1){RecDat UART_Rec_Byte();if(RecDat 2){if(toggle 0){Led_on(2);toggle 1;}else{Led_off(2);toggle 0;}}/*UART_Send_Str(Hello World\n);*/}return 0; }
http://www.hkea.cn/news/14356220/

相关文章:

  • 常州网站建设公司案例杭州最好的网站设计公司
  • 网站关键词修改外贸网站销售方式
  • 响应式网站怎么制作昆明软讯科技网站建设
  • 商城网站备案需要什么佛山市建设工程有限公司
  • asp.net 网站写好后如何运行网站 快照 更新慢
  • 展示系统 网站模板免费下载wordpress店铺模板制作教程
  • 做网站需注意什么设计一个网站要多久
  • 重庆网站备案最快几天网站权重不够高 导致
  • 农业网站电子商务平台建设方案高权重网站 内页做跳转给新网站
  • 找图片素材的网站有哪些pc端移动端网站开发
  • 优秀网站建设哪家便宜网站你了解的
  • 做电子商务平台网站网站排名优化技术
  • 广东网站开发wordpress系统设置
  • 沈阳 网站建设怎样把广告放到百度
  • 国税网站页面申报撤销怎么做网站工程专业是什么
  • 重庆网站建设023kw网站域名批量查询注册
  • 建企业网站谷歌外贸网站建站
  • 广州怎么找做网站的公司在线ui设计网站
  • 深圳网站公司制作河南股票配资网站建设
  • 网站前台右侧怎么做二维码网站设计 下拉式菜单怎么做
  • 塑胶托盘东莞网站建设新手学做网站vs
  • 做网站即墨wordpress 4.4.8
  • Centos建网站必须域名制作商城网站
  • 做网站用矢量图还是位图wordpress readium
  • 海珠区建网站wordpress改模板教程视频
  • 网站的费用多少手机上怎么做钓鱼网站
  • 湖南网站优化外包费用网站创建设计SEO优化象客
  • 各网站的风格及特点安徽建站优化哪里有
  • 建设银行网站 开户行怎么查询wordpress 布局调整
  • php搭建网站软件下载汉滨网站建设