PIC 18f এবং PORT-B

একটি PIC 18f4685 সঙ্গে কাজ একটি 4x4 কিপ্যাড পেতে চেষ্টা।

I've turned on weak-pulls ups. Set the appropriate pins to either input/output but when I send a signal out I'm not getting it back on bits 6 & 7. It just gets zeros...

আমি PicKit3 ব্যবহার করে ডিবাগ করার চেষ্টা করেছি কিন্তু মনে হয় যে এটি RB7 ব্যবহার করে এবং ক্র্যাশ করে যখন এই সারির একটি বোতাম ধাক্কা দেয় অবশ্যই যে আমাকে বলে যে সংকেত মাধ্যমে পেতে হবে, একটি বিন্দু থেকে।

বিশেষ কিছু কি আমাকে পোর্ট বি কনফিগারেশনে সেট আপ করতে হবে?

সর্বদা হিসাবে ... আপনার সাহায্য ব্যাপকভাবে প্রশংসা করা হয়।

0
সম্ভাব্য কনফিগ সমস্যাগুলির অতিরিক্ত ধারণাগুলির জন্য আপনাকে ধন্যবাদ। আমি এটা চলমান পেতে পরিচালিত। হ্যাঁ, ডিবাগ পরীক্ষার সময় PicKit3 ব্যবহার করা যায় না এবং আমার সলিড জয়েন্টগুলির মধ্যে একটি খারাপ ছিল। আপনি সেরা ফোরাম! সবসময় একটি দ্রুত বন্ধুত্বপূর্ণ প্রতিক্রিয়া পেতে!
যোগ লেখক Chef Flambe, উৎস
কোন পিন ইনপুট এবং আউটপুট যা? RB4-7 অনুমান করা হয় ইনপুট ...
যোগ লেখক ajs410, উৎস

3 উত্তর

আপনি কি আপনার কোড ব্যবহার করে ত্রিমাত্রিক নিবন্ধন (TRISB) এবং কিভাবে আপনি পড়ছেন আপনি বাটন প্রেস আগে এবং সময় একটি ডিজিটাল মাল্টিমিটার (ডিএমএম) সঙ্গে ইনপুট পিনের ভোল্টেজ চেক করেছেন? তারা $ 10 এবং এর মূল্য।

Finally, did you disable the analog pins? On PIC24 chips you have to do:

<�কোড> AD1PCFG = 0xFFFF

ডিজিটাল ইনপুট পড়ার আগে কাজ করবে। আপনার চিপ একই হতে পারে।

আপনি আমাদের আপনার চিপ এর EXACT মডেল নম্বর দিতে পারেন?

0
যোগ

আপনি উত্তর পেতে আগে EE সাইট এত নিষ্ঠুরভাবে বন্ধ আপনি যেহেতু, আমি আপনার প্রশ্ন উত্তর দিতে এখানে আসেন figured।

পৃষ্ঠার 135 নম্বরের টেবিলের উপর পরীক্ষা করুন, এটি পোর্ট বি পিনের সমস্ত বৈশিষ্ট্যগুলি তালিকাবদ্ধ করে। উল্লেখ্য যে RB6 এবং RB7 ডিবাগিং পিন এছাড়াও, তাই আমি এই ব্যবহার করা হবে না।

Also, are you writing to LATx and reading from PORTx? It's important to do this when reading and writing to the same port. If you read and write to PORTx, you can accidentally read a stale value from an output that has not had enough time to change yet, and your next write will obliterate your intended value. This is particularly pernicious on PICs that don't have a LATx register; any operation, even bit-wise operations like BSF/BCF, will do a read-modify-write of the ENTIRE port register, affecting more than the bit that you intended to modify. See the answer to this EE question: https://electronics.stackexchange.com/questions/28744/interfacing-a-keypad-with-a-microcontroller

0
যোগ
LATx নিবন্ধন সম্পর্কে ভাল বিন্দু।
যোগ লেখক Adam Casey, উৎস

ঠিক আপনার পরিকল্পিত (একটি স্কেচ সাহায্য করতে পারে) নিশ্চিত না কিন্তু পিআইসি জিপিআইএ একটি সাধারণ ত্রুটি ডিজিটাল ইনপুট এ ADC নিবন্ধন সেট না। তারা এনালগ ইনপুট হিসাবে রিসেট আউট আসে।

PIC18F4685 ডেটসেট তে নিবন্ধন বিবরণটি দেখুন 19-2।

ADCON1 comes out of reset as 0x00. To set all the analog pins to digital I/O, PCFG3:0 need to be set to 1.

ADCON1bits.PCFG = 0x0F;
0
যোগ
ধন্যবাদ ... আমি যে ডবল চেক করব। তবে আমি এটা আসলে একটি হার্ডওয়্যার সমস্যা হতে পারে চিন্তা করছি ... দরিদ্র ঢাল যুগ্ম। পুনরায় প্রবাহ যাওয়া এবং সঠিক সেট আপ জন্য ADCON1 reg চেক করুন।
যোগ লেখক Chef Flambe, উৎস
আপনি ADCON1 সেট করতে এড়াতে কনফিগারেশন বিট PBADEN সেট করতে পারেন।
যোগ লেখক ajs410, উৎস
আমি এডমিনকে এডামের সাথে উত্তর দিচ্ছি যে এটি একটি সাধারণ ভুল।
যোগ লেখক Diego Garcia, উৎস