小编use*_*459的帖子

从内核模块向用户空间通知gpio中断

我有一个代码可以检测内核模块中的GPIO中断。现在,我正在寻找一种从内核模块检测到gpio中断时通知用户空间的机制。相对于其他选项,是否有某些示例/代码段具有某些优点/缺点?非常感谢您的回复。

linux linux-device-driver linux-kernel embedded-linux gpio

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

错误#29 需要一个表达式

以下二维数组代码抛出错误 #29 期望表达式。

typedef  enum 
{
    BATTERY_POW = 0,
    USB_POW = 1,
    END_STATE = 2
} BMTState_e;   

typedef enum //event enums
{  
    NO_EVENT = 0,
    BOOT_EVENT =1,
    //I/O events
    POW_GOOD_LOW =2,
    POW_GOOD_HIGH = 3,
    VBUS_POW_LOW = 4,
    VBUS_POW_HIGH =5
}BMTEvent_e;
Run Code Online (Sandbox Code Playgroud)

该结构定义为

typedef struct  //state machine definition
{
    void (*funcPtr)();
    BMTState_e nextState;
}BMTAction_t;
BMTState_e BMTGlobal_State ; //global state
Run Code Online (Sandbox Code Playgroud)

该函数定义为

void BMTTest()
{
 //do nothing for time being
}
BMTAction_t  action[END_STATE][END_EVENT]={
   [BATTERY_POW][NO_EVENT]    = {BMTTest,BATTERY_POW}
   [BATTERY_POW][BOOT_EVENT]    = {BMTTest,BATTERY_POW},
   [BATTERY_POW][POW_GOOD_LOW]  = {BMTTest,USB_POW},
   [BATTERY_POW][POW_GOOD_HIGH] = …
Run Code Online (Sandbox Code Playgroud)

c greenhills microc

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

使用 Bash 启动和停止 openconnect

我正在努力实现以下目标:

  • ./vpnconnect.sh start 应该建立到服务器的 VPN 连接。
  • ./vpnconnect.sh stop 应终止 VPN 连接。

这是未按预期工作的尝试的 shell 脚本。它给出了错误:

~$ ./vpnconnect.sh stop
Stopping VPN connection:
./vpnconnect.sh: 22: ./vpnconnect.sh: root: not found
./vpnconnect.sh: 26: ./vpnconnect.sh: 14128: not found
Run Code Online (Sandbox Code Playgroud)

剧本:

#!/bin/sh
#
#
#
#

PIDOCN=""
VAR2=""

# Start the VPN
start() {
         echo "Starting VPN Connection"
         eval $(echo 'TestVpn&!' | sudo openconnect -q -b --no-cert-check 127.0.0.1 -u myUser --passwd-on-stdin)
        success $"VPN Connection established"
}

# Stop the VPN
stop() {
        echo  "Stopping VPN connection:"
        VAR2=eval $(sudo …
Run Code Online (Sandbox Code Playgroud)

linux bash shell

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