首先是我的问题的背景,具体细节如下:
我在平台上工作的公司目前是使用MPLAB IDE作为开发环境的Microchip PIC32系列.此前,我们还为同一应用编写了Microchip dsPIC和TI MSP系列的固件.固件非常简单,因为代码分为三个主要模块:设备控制,数据采样和用户通信(通常是用户PC).器件控制是通过GPIO总线和至少一部分需要SPI或I2C控制的部分组合实现的.使用定时器模块中断数据采样以保持采样频率,使用更多SPI/I2C和GPIO总线来控制采样硬件(即ADC).用户通信目前通过USB使用Microchip App Framework实现.
那么现在的问题是:鉴于我上面所描述的内容,我会考虑在什么时候为我的项目使用RTOS?目前我正在考虑将这些可能的触发点作为使用RTOS的理由:
您认为我应该考虑哪些其他方面?根据您的经验,您认为(或强迫)您考虑使用RTOS而不是仅仅在基本运行时运行代码?关于为RTOS设计/编程的其他资源的指针也非常受欢迎.
所以我开始感受到功能性编程与命令式编程的区别.就像任何好的转换器一样,我正在用Haskell锤子查看事物,并试图想象我的嵌入式编程工作如何被塑造成适合该工具的钉子.
这让我想到了这个问题.嵌入式环境是功能编程眼中的通用计算的特例还是仅仅是一般情况的另一种形式?IO中的挑战是全部吗?我的嵌入式工作通常需要大约90-95%的外围IO工作,最后一点点的东西是我可以适应的算法工作,并且仍然能够及时回到我的IO.这种工作是否使功能性程序不能满足我的需求?
最后,如果您可以建议嵌入Haskell项目的任何项目,那将非常感激.谢谢.
所以我来自Python背景,并开始在我的Mac上进入C#和Mono.我刚刚发现了Mono CSharpRepl工具,并希望用它来实现我在Python中的类似工作流程,其中包括在我的Python代码中修复错误时反复调用'reload(module)'.Mono的CSharpRepl是否具有类似的功能?目前我刚刚退出,重新启动,然后再次调用'LoadAssembly()'和'using'语句,这很痛苦.
所以使用GHCI,这些语句对我来说是等价的,因为end0中的列表表达式是end1中列表表达式的语法糖:
let end0 [x,y,z] = z
let end1 (x:y:z:[]) = z
Run Code Online (Sandbox Code Playgroud)
但是从end1的模式中取出parens会给我一个"模式中的Parse错误"错误.那为什么呢?parens在模式匹配中是否具有特殊含义,或者它是一个优先级问题,就像我通常认为当我使用parens与运算符时一样?
我看到使用Mylyn WikiText将wiki页面从这个问题转换为html 的建议,除了我不确定它是否只是通过阅读网站的首页来寻找它.我会进一步研究它.虽然我更喜欢它是一个Trac插件,所以我可以从wiki选项中启动转换,但是Trac-Hacks的所有插件只导出单页,而我想一次性转储所有格式化的页面.
那么现有的Trac插件或独立应用程序是否符合我的要求?如果不是,你会在哪里指我开始考虑自己实现这个功能?