精华内容
下载资源
问答
  • //发送文本文件 FileStream fs = File.OpenRead(FilePath); StreamReader sr = new StreamReader(fs, Encoding.ASCII); fs.Seek(0, SeekOrigin.Begin); String mystr = null; while (sr.Peek() > -1) ...
  • 有个项目需要与串口进行通讯,我需要向串口发送 root并且加上回车,串口才会执行root操作,现在一直卡在回车键这个位置,不知道发送何种字符会发生回车.之前已经试过root后面加\r\n,\r,\n,0xA,0x0D都已经试过,不行.串口...
  • VB写一个串口发送16进制数,如何将文本中的字符串转化成16进制数据发送。

    VB写一个串口发送代码,遇到一个问题,如何将文本中的字符串转化成16进制数据发送。
    这里写图片描述
    Dim bindate(200) As String
    Dim senddata As String ‘定义输入字符串变
    senddata = Replace(TxtSend.Text, ” “, “”) ‘已经将字符中间的空格都已经去掉了
    Dim hexdate() As Byte
    Dim I As Integer

       ReDim hexdate(0 To (Len(senddata) / 2 - 1))
             For I = 1 To (Len(senddata)) Step 2
                hexdate((I - 1) / 2) = Val("&H" + Mid(senddata, I, 2))
                Next I
    

    转化后,hexdate数据如下图所示
    这里写图片描述

    转化成功。

    展开全文
  • 串口调试工具可以实现通过串口发送和接收二进制和文本数据,
  • Hi Guysi created a GUI in Windows forms application in c# for sending and receiving Text files over serial port. And it is success i send and receive with out any problemBut i want to send line by lin...

    Hi Guys

    i created a GUI in Windows forms application in c# for sending and receiving Text files over serial port. And it is success i send and receive with out any problem

    But i want to send line by line over serial port so that i will receive line by line can any one help me please

    Here my code for sending text fileprivate void butSetFile_Click(object sender, EventArgs e)

    {

    this.openFileDialog1.ShowDialog();

    this.txtfile2.Text = this.openFileDialog1.FileName;

    }

    private void butSendFile_Click(object sender, EventArgs e)

    {

    try //sending files through serial port

    {

    if (serialPort1.IsOpen == false)

    {

    this.serialPort1.Open();

    }

    serialPort1.Write(System.IO.File.ReadAllText(this.txtfile2.Text));

    }

    }

    What I have tried:

    i solved the issue in console application by using the code ,but i don't know how it write for windows forms application in c#

    List list = new List();

    using (StreamReader reader = new StreamReader(@"E:Text.txt"))

    {

    string line;

    while ((line = reader.ReadLine()) != null)

    {

    list.Add(line); // Add to list.

    Console.WriteLine(line); // Write to console.

    }

    }

    解决方案Quote: while ((line = reader.ReadLine()) != null)

    {You may use the same loop to write the lines to the serial port.

    However, from the poin of view of the receiver, nothing changes. It has to discriminate the different lines based on the line terminator character(s).

    This question takes me back to the early 1990s...

    Sending data over serial ports is not the same as TCP/IP. You need to add some handshaking.

    This means that when the transmitter sends a packet of data to the receiver, the receiver needs to reply with an ACK or NAK response. If an ACK was received by the transmitter, then send the next block; if a NAK was received, then resend.

    Also, data over RS232 can get corrupted. Same happens with TCP/IP but the transport layer in TCP/IP auto retries, not RS232. So it is a good idea wrap the block of data with a header (describes the data - eg: sequence id, data type, etc...) and a trailing checksum. If the Checksum is valid at the receiving end, then the receiver responds and with an ACK, if not, then NAK. When the receiver sends the response, it is advisable to add the packet id and a checksum header/tail wrapper as well. This will make it easier for the transmitter to stay in sync or identify if corrupt data was received back.

    Hello,

    You can try this code. I think it will solve your problem.

    if (serialPort1.IsOpen == false)

    {

    this.serialPort1.Open();

    }

    using (StreamReader reader = new StreamReader(@"E:Text.txt"))

    {

    string line;

    while ((line = reader.ReadLine()) != null)

    {

    //list.Add(line); // Add to list.

    serialPort1.Write(line + Environment.NewLine);

    }

    }

    I think this code will serve your purpose.

    展开全文
  • FPGA实现字节串口发送

    2019-08-23 20:50:50
    FPGA实现字节串口发送新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一...

    波特率:9600 数据位:8bit 无奇偶校验 停止位:1位
    FPGA系统时钟:50MHz

    新的改变

    module uart_tx(
    		 input			clk_50m,				//时钟输入
    		 input			rst_n,				   //复位信号
    		 input			uart_tx_en,		   //发送使能
    		 input[7:0]		data_in,		   //数据输入
    		 
    		 output reg		tx_data,			//数据输出
    		 output reg		tx_done			//发送完成信号输出
    );
    
    localparam	
    		CLK_FREQUENCY = 50_000_000,
    		Baud_Rate	  = 9600,
    		BPS_CNT		  = CLK_FREQUENCY / Baud_Rate;	
    localparam
    		START_BIT = 1'b0,			//起始位
    		STOP_BIT  = 1'b1;			//停止位
    		
    wire			tx_en;
    
    reg			tx_en_d0;			//寄存
    reg			tx_en_d1;
    reg			tx_flag;		//发送标志位
    reg[ 7:0]	data_buff;	//数据缓存
    reg[15:0]	clk_cnt;		//系统时钟计数器
    reg			bps_clk;		//波特率时钟输出
    reg[3:0]		baud_cnt;	//波特率时钟计数器
    
    //将串口发送使能信号和时钟同步
    assign tx_en = tx_en_d0 & (!tx_en_d1);
    always @ ( posedge clk_50m or negedge rst_n ) begin
    	if( !rst_n ) begin
    		tx_en_d0 <= 1'b0;
    		tx_en_d1 <= 1'b0;
    	end
    	else begin
    		tx_en_d0 <= uart_tx_en;
    		tx_en_d1 <= tx_en_d0;		
    	end
    end
    //获得发送标志位
    always @ ( posedge clk_50m or negedge rst_n ) begin
    	if( !rst_n )
    		tx_flag <= 1'b0;
    	else if( tx_en )
    		tx_flag <= 1'b1;
    	//else if( ( baud_cnt == 4'd10 ) && ( clk_cnt == BPS_CNT / 2))
    	else if( baud_cnt == 4'd11 )
    		tx_flag <= 1'b0;
    	else
    		tx_flag <= tx_flag;
    end
    //当检测到串口发送使能信号将发送数据缓存
    always @ ( posedge clk_50m or negedge rst_n ) begin
    	if( !rst_n )
    		data_buff <= 8'd0;
    	else if( tx_en )
    		data_buff <= data_in;
    	else
    		data_buff <= data_buff;
    end
    //对系统时钟计数
    always @ ( posedge clk_50m or negedge rst_n ) begin
    	if( !rst_n )
    		clk_cnt <= 16'd0;
    	else if( tx_flag ) begin
    		if( clk_cnt == BPS_CNT - 1 )
    			clk_cnt <= 16'd0; 
    		else
    			clk_cnt <= clk_cnt + 1'b1;
    	end
    	else
    		clk_cnt <= 16'd0;
    end
    //产生波特率时钟
    always @ ( posedge clk_50m or negedge rst_n ) begin
    	if( !rst_n )
    		bps_clk <= 1'b0;
    	else if( tx_flag ) begin
    		if( clk_cnt == 16'd5 )
    			bps_clk <= 1'b1;
    		else
    			bps_clk <= 1'b0;
    	end	
    	else
    		bps_clk <= 1'b0;
    end
    //对波特率时钟计数
    always @ ( posedge clk_50m or negedge rst_n ) begin
    	if( !rst_n )
    		baud_cnt <= 4'd0;
    	else if( bps_clk )
    		baud_cnt <= baud_cnt + 1'b1;
    	else if( baud_cnt == 4'd11)
    		baud_cnt <= 4'd0;
    	else
    		baud_cnt <= baud_cnt;
    end
    //发送数据
    always @ ( posedge clk_50m or negedge rst_n ) begin
    	if( !rst_n )
    		tx_data <= 1'b1;
    	else if( tx_flag ) begin
    		case( baud_cnt )
    			4'd0  : tx_data <= 1'b1;
    			4'd1  : tx_data <= START_BIT;
    			4'd2  : tx_data <= data_buff[0];
    			4'd3  : tx_data <= data_buff[1];
    			4'd4  : tx_data <= data_buff[2];
    			4'd5  : tx_data <= data_buff[3];
    			4'd6  : tx_data <= data_buff[4];
    			4'd7  : tx_data <= data_buff[5];
    			4'd8  : tx_data <= data_buff[6];
    			4'd9  : tx_data <= data_buff[7];
    			4'd10 : tx_data <= STOP_BIT;
    			default : ;
    		endcase
    	end
    	else
    		tx_data <= 1'b1;
    end
    //产生发送完成信号
    always @ ( posedge clk_50m or negedge rst_n ) begin
    	if( !rst_n )
    		tx_done <= 1'b0;
    	else if( baud_cnt == 4'd11)
    		tx_done <= 1'b1;
    	else
    		tx_done <= 1'b0;
    end
    endmodule
    

    下面是testbench文件:

    `timescale   1ns/1ns
    `define      clk_period  20
    
    
    module uart_tx_tb;
    
    
    reg			clk_50m;
    reg			rst_n;
    reg			uart_tx_en;
    reg[7:0]		data_in;
    		 
    wire			tx_data;
    wire			tx_done;
    
    
    uart_tx m0(
    		 .clk_50m(clk_50m),
    		 .rst_n(rst_n),
    		 .uart_tx_en(uart_tx_en),
    		 .data_in(data_in),
    		 
    		 .tx_data(tx_data),
    		 .tx_done(tx_done)
    );
    
    initial clk_50m = 1;
    always  #( `clk_period / 2 )	clk_50m = ~clk_50m;
    
    initial begin
    	rst_n = 0;
    	uart_tx_en = 0;
    	data_in = 8'b0000_0000;
    	
    	#( `clk_period * 20 + 3 )
    	rst_n = 1;
    	
    	#( `clk_period * 20 + 3 )
    	uart_tx_en = 1;
    	
    	#( `clk_period  + 3 )
    	data_in = 8'b1010_1010;//0xaa
    	#( `clk_period * 80000  + 3 )
    	
    	data_in = 8'b0111_1011;	//0x7b
    	
    	#( `clk_period * 85000 + 3 )
    	uart_tx_en = 0;
    	
    	#( `clk_period * 86000 + 3 )
    	uart_tx_en = 1;
    	
    	
    	#( `clk_period * 90000  + 3 )
    	$stop;
    end
    endmodule
    
    1. 全新的界面设计 ,将会带来全新的写作体验;
    2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
    3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
    4. 全新的 KaTeX数学公式 语法;
    5. 增加了支持甘特图的mermaid语法1 功能;
    6. 增加了 多屏幕编辑 Markdown文章功能;
    7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
    8. 增加了 检查列表 功能。

    功能快捷键

    撤销:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜体:Ctrl/Command + I
    标题:Ctrl/Command + Shift + H
    无序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    检查列表:Ctrl/Command + Shift + C
    插入代码:Ctrl/Command + Shift + K
    插入链接:Ctrl/Command + Shift + L
    插入图片:Ctrl/Command + Shift + G
    查找:Ctrl/Command + F
    替换:Ctrl/Command + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。
    输入2次#,并按下space后,将生成2级标题。
    以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';
    

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目 Value
    电脑 $1600
    手机 $12
    导管 $1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列 第二列 第三列
    第一列文本居中 第二列文本居右 第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPE ASCII HTML
    Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
    Quotes "Isn't this fun?" “Isn’t this fun?”
    Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to-HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ(n)=(n1)!nN\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N 是通过欧拉积分

    Γ(z)=0tz1etdt&ThinSpace;. \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

    张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间,文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0开始我的操作确认?结束yesno
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. mermaid语法说明 ↩︎

    2. 注脚的解释 ↩︎

    展开全文
  • 基础实验5-USART串口发送实验 实验目的:掌握定时器USART发送字符串的方法。 实验现象:下载程序,PC端打开串口助手,选择USB线的端口,波特率为115200,无校验,停止位为1位,文本模式接收,可以看到“ok”1秒接收1...

    基础实验5-USART串口发送实验

    实验目的:掌握定时器USART发送字符串的方法。
    实验现象:下载程序,PC端打开串口助手,选择USB线的端口,波特率为115200,无校验,停止位为1位,文本模式接收,可以看到“ok”1秒接收1次。

    实验代码

    int main(void)
    {
      /* USER CODE BEGIN 1 */
      /* USER CODE END 1 */
      /* MCU Configuration--------------------------------------------------------*/
      /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
      HAL_Init();
      /* USER CODE BEGIN Init */
      /* USER CODE END Init */
      /* Configure the system clock */
      SystemClock_Config();
      /* USER CODE BEGIN SysInit */
      /* USER CODE END SysInit */
      /* Initialize all configured peripherals */
      MX_GPIO_Init();
      MX_USART2_UART_Init();
      /* USER CODE BEGIN 2 */
      /* USER CODE END 2 */
      /* Infinite loop */
      /* USER CODE BEGIN WHILE */
        while (1)
        {
            HAL_UART_Transmit(&huart2, (uint8_t *)Send_Data, 4, 500);
            HAL_Delay(1000);
        /* USER CODE END WHILE */
        /* USER CODE BEGIN 3 */
        }
      /* USER CODE END 3 */
    }
    
    展开全文
  • 用STM32CudeIDE建立一个工程,写了一个串口发送,发现:发送英文正常,但发送中文会乱码 这是中文编码格式不对需要设置一下,有两个地方需要设置一下,把编码方式改成GBK, 在文本文件编码哪里选中缺省值 选其他...
  • 输入汉字时可以正常接收,但发送文本文档时出现了乱码,求大神帮助。 源代码发到CSDN资源上了,链接地址为:http://download.csdn.net/category/development_technology/csharp 不好意思,发表的第一篇帖子,不...
  • // 发送信息 void MainWindow::on_SendMessageButton_clicked() { QString sdata= ui->SendDatatextEdit->toPlainText();//读取文本数据 if(sdata.isEmpty())return; QByteArray sendBuf = ""; ...
  • 实验名称— USART串口发送实验 实验说明 实验目的:掌握定时器USART发送字符串的方法。 实验现象:下载程序,PC端打开串口助手,选择USB线的端口,波特率为115200,无校验,停止位为1位,文本模式接收,可以看到“ok...
  • 如题,esp8266的发送AT指令和发送文本的区别:AT指令等于 文本指令后面加一个回车 ,也就是发送的...如在串口助手之类的软件输入AT+RST并发送则只是发送文本并不会重启8266;如果在串口助手中输入以下AT+RST(注意有个...
  • 也就是说我们可以用访问文本文件的命令来访问它们。a. 一般串口都是以/dev/ttyS#的格式显示,所以第一个连接的串口就是/dev/ttyS0,第二个连接的串口就是/dev/ttyS1…以此类推。b. USB转串口适配,没有额外驱动,它们...
  • 如果要传输文本,最简单的方法是选择一些字符来分隔单个字符串,它可以是\n(换行符)、逗号或其他任何字符。在ser = serial.Serial ("COM4", 9600)ser.write(b"some string\n")ser.write(b"some other string\n")在...
  • labview可以控制串口发送数据了

    千次阅读 2014-01-22 17:15:09
    文本按钮控制发送,按下按钮才发送,抬起停止。基本功能可以了。 但是,问题来了,如何做几个按钮,各个按钮具有不同的功能,并且,按照功能解析接收字符串。 在电子发烧友的labview论坛上,看起来是labview的问题...
  • 最近在做的系统需要集成手机群发功能,在网上找了很多例子,没有几个能用的,...一种是Text文本形式,另一种是PDU编码形式,Text文本形式只能发送英文短信,如果需要发送中文或其他语言短信,只能通过PDU编码形式发送,所以我下
  • 串口上传输文本文件

    千次阅读 2008-04-18 12:04:00
    目的:通过串口传输XML文件。开发平台:Delphi7核心组件:SPComm发送端: const //申明长度和简单的协议头、尾标识常量 LEN_FILENAME = 255; MAX_LENGTH = 1024; MARK_HEAD = #MYFILE#%s; MARK_END = #END#;{...
  • 我们在工控软件中,会经常使用到网口和串口,去接受和发送数据。通常我们发送数据的模式有两种,一种16进制,一种是ASCII码。16进制的的经常会用来和仪器PLC等设备通讯。ACSII码是一种文本模式。当我们不点选16进制...
  • 以下是命令例子,包含错误语句(直接放到一个temp.zlc文本文件中即可导入发送): [0]adsfasdf[100] [1]2452345\12 35 df\asfd[100] [0][100]12 35 af[400 [1][100]12 35 af[400 [1]adsfasdf[400] [1]\\\df 12 35\...
  • ExMod串口调试助手主要功能是发送大量串口数据,设计目标是满足上位机串口编程调试之用,是个人把在上位机编程中常用的模拟调试功能汇总到一个调试软件中而成。除普通串口调试助手功能外,还包括发送文件中数据、...
  • 继续跟这位博主学习,并在其基础上修复了“启动时时钟不受控”的bug,并将“定时时间”的选择由选择框改为文本输入。 开始 一、设计窗体基本外形 具体操作可看第《上位机.1》的学习笔记。 上面使用到的控件有:...
  • 这个是LABVIEW界面,DS18B20的传感器接收温度,给单片机,单片机显示并通过串口发送给LABVIEW,labview生成TXT文件,并保存历史数据。压缩包里的单片机程序。 单片机采用是51的单片机,数码管显示。使用的时候一定要...
  • 之前在百度搜索有关串口收发指令的demo,得到的都是文本方式的。于是乎,我自己写了一个可以收发16进制指令的程序,供大家参考 该程序有详细的实现过程,同时也有测试示例
  • 该工具主要完成一下工作: ...3.保存上次发送的数据包信息(主要是读写txt文本,加载上次要发送文本,已经按照樊工要求实现) 4.可以按照指定的时间,自动发送,从第一包,发送到最后一包,然后结束。
  • 1、static经常看到,静态的意思 const就是只读的意思,只在声明中使用; static一般有2个作用,规定作用域和存储方式.对于局部变量,static规定其为静态存储方式, ...3,串口的默认发送ASCII与接收ASCII
  • 串口通信学习(发送

    千次阅读 2010-05-31 16:08:00
    今天按照书上学习了一下API串口通信,并实际编程练习一番。 1.首先在vs6.0上建立一个新的MFC应用程序工程,选择单文档,基类采用CEditView(采用这个类的原因是在视图中具有文本编辑功能,同允许进行输入...
  • 在PC端向单片机发送任意数据后, 单片机向PC端发送4行文本, 由于在windos下,回车换行用\r\n       #include &lt;reg52.h&gt; #include "MY51.h" void initSer(); //串口初始化 ...
  • 库版本 :ST3.0.0欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居...
  • 在毕设的学习过程中,需要将minst数据集的图片转换成16进制的txt文本,并将其通过串口工具连续发送到FPGA板子中进行预测,基于之前一个博主所实现的串口工具进行部分修改,最终完成了多个txt文档的连续发送及识别: ...
  • 对于指令文本 ENQ STX 08 PS 0500 F0 ETX的ASCII发送 首先按照我上一篇博客打开串口 &gt;&gt;ser.write("\x05\x02\x30\x38\x50\x53\x20\x20\x30\x35\x30\x30\x46\x30\x03\x04")(中间两方20是...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 335
精华内容 134
关键字:

串口发送文本