小编Amm*_*mar的帖子

解析用逗号分隔的字符串只能工作一次?

当我按下"A"时,我有一个菜单,我执行以下代码,解析用逗号分隔的数字.我第一次按'A'时结果是100%准确的.但第二次+次我从菜单中按'A'重复相同的代码,我得到奇怪的结果.我正在使用带有PIC18的MPLAB C18编译器

我正在使用带有PIC18的MPLAB C18编译器

首次输出

技术

0100

0200

0100

第二次+时间输出

技术

char somestr[] ="2,0100,0200,0100";
char *pt;
int a;
pt = strtokpgmram (somestr,",");

while (pt != NULL) 
{
    a = atoi(pt);
    printf("%d\n", a);
    pt = strtokpgmram (NULL, ",");
}
Run Code Online (Sandbox Code Playgroud)

你如何解决它,以便每次我从菜单中按'A'我得到与第一次输出相同的结果?

谢谢!

c

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

使用PIC18从十六进制到十二月?

尝试将4位数组合在一起,给出正确的小数值,我有一点问题.首先让我从我的代码开始.

long firsttwo, secondtwo, combined; 
firsttwo = 0x0C;
secondtwo = 0x6C;
Run Code Online (Sandbox Code Playgroud)

十进制值0C:12

十进制值6C:108

但所有0C6C的十进制值:3180

现在我如何将所有数字放入一个变量才能将其转换为十进制数?因为如果我只是firsttwo自己转换,那么secondtwo我自己就不会获得相同的最终总数.谢谢!

c microcontroller

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

将汇编转换为C [使用PIC18写入存储器]

我正在尝试写入PIC18F87J11上的闪存,但我在理解汇编时遇到了问题.我的PIC的数据表只有汇编,我正在使用C编译器.我想知道是否有人可以帮助我将这部分代码翻译成C语言.此代码可在此处找到,第7.5节.

MOVLW CODE_ADDR_UPPER ; Load TBLPTR with the base address
MOVWF TBLPTRU
MOVLW CODE_ADDR_HIGH
MOVWF TBLPTRH
MOVLW CODE_ADDR_LOW
MOVWF TBLPTRL
MOVLW DATA0
MOVWF TABLAT
TBLWT*+
MOVLW DATA1
MOVWF TABLAT
TBLWT*
PROGRAM_MEMORY
BSF EECON1, WPROG ; enable single word write
BSF EECON1, WREN ; enable write to memory
BCF INTCON, GIE ; disable interrupts
MOVLW H'55'
MOVWF EECON2 ; write H'55'
MOVLW H'AA'
MOVWF EECON2 ; write H'AA'
BSF EECON1, WR ; start program (CPU stall)
BSF INTCON, GIE …
Run Code Online (Sandbox Code Playgroud)

c microcontroller assembly pic

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

你如何从C程序调用汇编函数?

我是微控制器编程的新手,特别是PIC18F87J11,我使用的是MPLAB C18编译器.我正在阅读各种主题的数据表,例如保存到内存或使用计时器.我注意到这些例子是用汇编语言编写的,但我对它的经验最少.有没有办法在我的项目中一起使用Assembly和C的强大功能?

我不明白汇编那么好,否则我会尝试将代码转换为C,在这种情况下,我只是使用汇编代码,几乎没有变化.

现在有人能告诉我如何在使用MPLAB C18编译器的C程序中使用汇编函数吗?

汇编函数可以像hello world一样简单.我只需要了解在MPLAB上梳理和使用两种不同语言的过程.我试图创建一个快速测试功能,但我不知道在哪里放置汇编代码.汇编代码是否需要包含在项目中的自己的文件?

我希望有人可以通过一个完整的简单例子来启发我,以便能够看到全局.我提前给予帮助,谢谢!

c embedded microcontroller assembly pic

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

如何将HEX转换为两位数格式?

我想将十进制数转换为HEX.例如14进入E但后来我想转换E成两位数字格式0E.这是我的代码,但它给了我一个错误.

int lightOnHours = 14;
Log.d("Two Digits", String.format("%02s",Integer.toHexString(lightOnHours));
Run Code Online (Sandbox Code Playgroud)

错误信息

07-11 16:57:32.422: E/AndroidRuntime(12832): java.util.FormatFlagsConversionMismatchException: %s does not support '0'
07-11 16:57:32.422: E/AndroidRuntime(12832):    at java.util.Formatter$FormatToken.checkFlags(Formatter.java:1359)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at java.util.Formatter.transform(Formatter.java:1440)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at java.util.Formatter.doFormat(Formatter.java:1079)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at java.util.Formatter.format(Formatter.java:1040)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at java.util.Formatter.format(Formatter.java:1009)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at java.lang.String.format(String.java:1998)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at java.lang.String.format(String.java:1972)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at com.test.digits.TestFragment2$5.onClick(TestFragment2.java:158)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at android.view.View.performClick(View.java:3627)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at android.view.View$PerformClick.run(View.java:14329)
07-11 16:57:32.422: E/AndroidRuntime(12832):    at …
Run Code Online (Sandbox Code Playgroud)

java android

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

从WebView获取URL

我想知道是否有另一种有效的方法来获取将加载到WebView上的URL.我当前的代码提供了当前的Url而不是将要加载的Url.

例如,如果我的WebView加载: http://stackoverflow.com

加载后如果我点击问题,我不会得到这个网址http://stackoverflow.com/questions,出于某种原因,我会得到http://stackoverflow.com

所以我的问题是如何获得将在WebView上加载的URL?

这是我的代码,请帮忙!

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class MainActivity extends Activity {

    // Declaring
    WebView browser;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Initializing
        browser = (WebView) findViewById(R.id.webView1);

        browser.getSettings().setJavaScriptEnabled(true);
        browser.getSettings().setLoadWithOverviewMode(true);
        browser.getSettings().setUseWideViewPort(true);
        browser.getSettings().setBuiltInZoomControls(true);

        // Loading
        browser.loadUrl("http://stackoverflow.com");


        browser.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    view.loadUrl(url);

                return true;
            }

            public void onLoadResource(WebView view, String url) {

                //here I get the Url, but …
Run Code Online (Sandbox Code Playgroud)

android android-webview

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

如何将char转换为float?

我试图将两个字符数转换为浮点数,但我没有得到正确的结果.

char firstnumber = '1';
char secondnumber = '2';
float sum  ;

sum =  ((firstnumber - '0') /(secondnumber - '0'));
cout << sum;
Run Code Online (Sandbox Code Playgroud)

输出总是0,而不是0.5,请赐教.

c++

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

由java.lang.NullPointerException和java.lang.RuntimeException引起

我一直收到这个错误,我不确定是什么导致它.我声明并初始化了变量,但错误并没有消失.我一直在看同样的错误,但我无法抓住错误.

05-01 20:57:43.162  32675-32675/com.ammar.customlistview1.app W/dalvikvm? threadid=1: thread exiting with uncaught exception (group=0x40be21f8)
05-01 20:57:43.172  32675-32675/com.ammar.customlistview1.app E/AndroidRuntime? FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ammar.customlistview1.app/com.ammar.customlistview1.app.MainActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1891)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
            at android.app.ActivityThread.access$600(ActivityThread.java:127)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4511)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:976)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:743)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at android.app.Activity.findViewById(Activity.java:1810)
            at com.ammar.customlistview1.app.MainActivity.<init>(MainActivity.java:16)
            at java.lang.Class.newInstanceImpl(Native Method)
            at java.lang.Class.newInstance(Class.java:1319)
            at android.app.Instrumentation.newActivity(Instrumentation.java:1026)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1882)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
            at android.app.ActivityThread.access$600(ActivityThread.java:127)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4511) …
Run Code Online (Sandbox Code Playgroud)

java android

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

标签 统计

c ×4

android ×3

microcontroller ×3

assembly ×2

java ×2

pic ×2

android-webview ×1

c++ ×1

embedded ×1