小编jli*_*u83的帖子

管道输出到bash功能

我在bash脚本中有一个简单的函数,我想将stdout作为输入传递给它.

jc_hms(){
  printf "$1"
}
Run Code Online (Sandbox Code Playgroud)

我想以这种方式使用它.

var=`echo "teststring" | jc_hms`
Run Code Online (Sandbox Code Playgroud)

当然我使用冗余函数echo和printf来简化问题,但是你明白了.现在我得到一个"未找到"错误,我认为这意味着我的参数分隔错误("$ 1"部分).有什么建议?

最初jc_hms函数的使用方式如下:

echo `jc_hms "teststring"` > //dev/tts/0
Run Code Online (Sandbox Code Playgroud)

但是我想先将结果存储在一个变量中,然后再将其发送到串口.

编辑:所以澄清一下,我不是想把东西打印到串口,我想接口我的bash函数应该是"|" 管道人物,我想知道这是否可行.

编辑:好的,这是完整的功能.

jc_hms(){
  hr=$(($1 / 3600))
  min=$(($1 / 60))
  sec=$(($1 % 60))

  printf "$hs:%02d:%02d" $min $sec
}
Run Code Online (Sandbox Code Playgroud)

我正在使用该函数来形成一行代码

songplaytime=`echo $songtime | awk '{print S1 }'`
printstring="`jc_hms $songplaytime`"  #store resulting string in printstring
Run Code Online (Sandbox Code Playgroud)

其中$ songtime是一个以空格分隔的"playtime totaltime"表示的字符串.

我希望我可以在一行中执行此操作,并在awk之后将其管道化

printstring=`echo $songtime | awk '{print S1 }' | jc_hms`
Run Code Online (Sandbox Code Playgroud)

像这样.

linux bash pipe

64
推荐指数
5
解决办法
6万
查看次数

简单的颜色填充QIcons在Qt

我需要创建一个更改QWidget背景的菜单.我想将一个代表所选颜色的QIcon放入填充QMenu的QActions中.我不想弹出Photoshop并手动绘制图标.是否可以编写一个充满特定颜色的简单图标?这样我可以根据需要进行任意数量的QActions,而且我不需要在Photoshop中制作一大堆图标.\

c++ qt qmenu qicon

9
推荐指数
2
解决办法
1万
查看次数

是否可以通过串口在PuTTY上发送文本文件的内容?

我想通过串口发送文件的文本内容,通过PuTTY.我知道扩展存在,例如Xmodem和Zmodem,但它们都使用一些校验和协议来确认文件是通过端口发送的.

但是,我的要求更简单.我想简单地通过Windows中的串口发送一堆文本(在文件中)(在Linux下这将是更简单的),但我首选的终端程序是PuTTY.这可能吗?是否有其他终端程序具有此类功能?

windows putty serial-port text-files

6
推荐指数
1
解决办法
3万
查看次数

指向函数指针数组的指针

int (*rdPtrList[4])(unsigned int addr, unsigned int data);
Run Code Online (Sandbox Code Playgroud)

上面声明了一个返回int的函数指针大小为4的数组,并带有两个unsigned int.我想做一个指向这个数组的指针.这可能在C?

c pointers function

4
推荐指数
3
解决办法
4698
查看次数

Define preprocessor指令中的字符串文字

我想#define在报价单中指令.这是问题所在:

我正在使用的嵌入式平台中有一个内置函数,它将文字汇编代码作为字符串.我想把它包装成一个宏.

__asm__("goto 0x2400");
Run Code Online (Sandbox Code Playgroud)

上面的内置函数处理器跳转到位置0x2400处的代码并开始在该地址执行(对于那些想知道的人,我正在编写一个引导加载程序,这就是为什么这是必要的).因为地址在字符串中,所以我不能轻易替换它.我需要一种方法使函数通用,以便我可以开始在任何地址执行代码.例如:

#define ASM_GOTO __asm__("goto X")
Run Code Online (Sandbox Code Playgroud)

这不会导致正确的文本替换,因为X在引号中.有没有解决的办法?

c string c-preprocessor

3
推荐指数
1
解决办法
2040
查看次数

在linux中查找字符串并替换行

我想做以下几点,但我似乎无法找到一种优雅的方式来做到这一点.

我有一个看起来像这样的文本文件:

..more values
stuff = 23   
volume = -15
autostart = 12
more values..
Run Code Online (Sandbox Code Playgroud)

现在,"音量"值可能会根据情况而改变.我需要一个脚本,可以找到带有"volume = xxx"的文本行,然后将其替换为"volume = 0"行.什么是优雅的解决方案?文本中的这一行不保证是第一行,所以我需要一种方法来首先找到它.

linux replace sed find

3
推荐指数
1
解决办法
1万
查看次数

在编译时将扩展的宏打印到文件中

我想在 gcc 编译器编译时将宏的结果打印到文件中。我想知道这是否可能。下面的例子:

#define MD_BTLDB_APP_VERSION_OFFSET(x) 
Run Code Online (Sandbox Code Playgroud)

扩展到

(0x00000000u + (0x00040000u - ((uint32)(x) * 0x00000100u) - (64u)))
Run Code Online (Sandbox Code Playgroud)

计算得出

0x0003ffd6
Run Code Online (Sandbox Code Playgroud)

为了

MD_BTLDB_APP_VERSION_OFFSET(0)
Run Code Online (Sandbox Code Playgroud)

这是引导加载程序的一些元数据的地址,我希望能够在运行时之外使用该地址。

我查看了 #pragma 消息,但这仅将值输出到 gcc 输出,而不是输出到文件。它还存在混入许多其他编译器消息的不便。欢迎任何提示或创造性的解决方案。

c macros gcc compilation

3
推荐指数
1
解决办法
2265
查看次数

在Cortex M0上,浮点数与整数比较有多贵?

所以我正在研究一个需要计算浮点数的嵌入式项目.显然,有多种方法可以估算输出并减少计算周期.我的问题是,浮点数与整数比较(相对来说,不是精确的周期)有多贵?其中一个操作可能会以这种方式进行优化,但我想知道是否值得付出努力.芯片是皮质M0(没有浮点硬件).所有浮点都是通过软件完成的.

embedded floating-point instruction-set cortex-m

2
推荐指数
1
解决办法
4057
查看次数

如何将信息传递给bash中的后台进程

我创建了一个bash脚本,它在后台运行.它有一个存储在文件中的PID,我可以使用KILL将预定义的信号传递给进程.

但是,我有时会手动将信息传递给流程.优选地,我想要发生的是能够传递通过TRAP捕获的字符串或信息数组,然后bash文件中的永久循环将处理信息.有没有简单的方法将信息传递到后台进程?

谢谢

bash process embedded-linux

1
推荐指数
1
解决办法
1308
查看次数

正则表达式,测试以查看是否存在其他字符

我想使用正则表达式来查看是否存在除某个集合之外的任何字符.

例如,我想在字符串中测试字母'p','v','c'.如果字符串中有任何其他字符,我希望测试返回True.如果只存在'p','v','c'或其组合,我希望测试返回False.

'v'返回False

'pv'返回False

'pvc'返回False

'pd'返回True

'p('返回True

'apvc'返回True

'xyz'返回True

我怎么用re来表达呢?谢谢.

python regex

1
推荐指数
1
解决办法
80
查看次数